python编程题eaWord格式文档下载.docx
《python编程题eaWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《python编程题eaWord格式文档下载.docx(15页珍藏版)》请在冰点文库上搜索。
当x=7,输出y的值
x=input('
Pleaseinputx:
'
)
x=eval(x)
ifx<
0orx>
=20:
print(0)
elif0<
=x<
5:
print(x)
elif5<
10:
print(3*x-5)
elif10<
20:
print(0.5*x-2)
4、从键盘上任意输入一个自然数,判断数是否素数。
如输入11,那么显示:
11是素数
n=eval(input("
请输入一个自然数:
tag=True
foriinrange(2,n):
ifn%i==0:
tag=False
break
m="
是素数"
iftagelse"
不是素数"
print(n,m)
5、编程求解一元二次方程
方程中的
系数从键盘输入〔提示:
分支嵌套〕
注解:
大局部情况下是根据求根公式来求解,即:
判别式:
利用一元二次方程根的判别式〔
〕可以判断方程的根的情况。
一元二次方程
的根与根的判别式有如下关系:
①当
时,方程有两个不相等的实数根;
②当
时,方程有两个相等的实数根;
③当
时,方程无实数根,但有2个共轭复根。
a=eval(input("
A="
b=eval(input("
B="
c=eval(input("
C="
delta=b**2-4*a*c
ifa==0:
ifb==0:
print("
方程无意义!
!
else:
x=-c/b
方程有单根:
x)
ifdelta>
0:
q=math.sqrt(delta)/(2*a)
p=-b/(2*a)
x1=p+q
x2=p-q
两个不相等的实根"
x1,x2)
elifdelta==0:
两个相等的实根:
p)
方程无解!
6、编程产生菲波拉契数列20项,
例如:
01123581321……
x0,x1=0,1
forninrange(0,20):
print(x0,end="
"
x0,x1=x1,x0+x1
7、猴子摘桃
猴子第一天摘了假设干个桃子,当天吃了一半,还不过隐,有多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第10天早上想再吃时,见只剩下一个桃子,问第一天共摘了多少个桃子
x=1
fordinrange(0,9):
x=(x+1)*2
print(x)
8、编程分别计算100以内(含100)奇数与偶数的和。
s1,s2=0,0
foriinrange(1,101):
ifi%2==0:
s2=s2+i
s1=s1+i
奇数的和是:
{},偶数的和是:
{}"
.format(s1,s2))
9、编程计算前30项的和:
s=1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+…+n)
t,sum=0,0
foriinrange(1,31):
t=t+i
sum=sum+t
多项式前30项的和是:
sum)
10、一个富翁试图与陌生人做一笔换钱生意,换钱规那么为:
陌生人每天给富翁10万元钱,直到满一个月(30天);
而富翁第一天给陌生人1分钱,第2天给2分钱,第3天给4分钱,…,富翁每天给穷人的钱是前一天的两倍,直到满一个月,分别显示富翁给陌生人的钱和陌生人给富翁的钱各是多少?
s=0
s=s+100000
x1=2*x0
x0=x1
富翁赚的钱{:
.2f},陌生人赚的钱{:
.2f}"
.format(s,x0))
11、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。
如果年份能被400整除,那么为闰年;
如果年份能被4整除但不能被100整除也为闰年。
Pleaseinputanintegerof4digitsmeaningtheyear:
ifx%400==0or(x%4==0andnotx%100==0):
print('
Yes'
No'
12、一小球从100米高度自由落下,每次落地后反跳回原高度的一半;
再落下,求它在第10次落地时,共经过多少米?
第10次反弹多高?
s=100
h0=100
foriinrange(1,10):
h1=h0/2
s=s+2*h1
h0=h1
小球一共经过了{:
.2f}米,第10次的高度{:
.2f}米"
.format(s,h0))
13、求阶乘:
从键盘输入任意一个正整数,编程计算该数的阶乘如:
输入5,阶乘结果120。
请输入一个正整数:
p=1
foriinrange(1,n+1):
p=p*i
n!
="
14、
forjinrange(1,i+1):
{}*{}={:
2d}"
.format(i,j,i*j),end="
print()
15、
forainrange(0,21):
forbinrange(0,34):
forcinrange(0,101):
ifa+b+c==100anda*5+b*3+c/3==100:
print(a,b,c)
16、
17、turle库绘制红色线条的六边形,线条大小5像素,每边长度80。
importturtle
turtle.pensize(5)
turtle.pencolor("
red"
foriinrange(6):
turtle.fd(80)
turtle.left(60)
18、
19、编写一个程序,接受逗号分隔的单词序列作为输入,按字母顺序排序后按逗号分隔的序列打印单词。
假设向程序提供以下输入:
without,hello,bag,world
那么输出为:
bag,hello,without,world
x=input("
x="
)
l=x.split("
"
l.sort()
.join(l))
20、编写一个程序来计算输入中单词的频率。
按字母顺序对键进行排序后输出。
假设为程序提供了以下输入:
NewtoPythonorchoosingbetweenPython2andPython3ReadPython2orPython3
然后,输出应该是:
2:
2
3:
New:
1
Python:
5
Read:
and:
between:
choosing:
or:
to:
l=x.split()
d={}
foriinl:
d[i]=d.get(i,0)+1
l2=sorted(d)
foriinl2:
{}:
.format(i,d[i]))
21、依次输入三个整数放在一个列表中,请把这三个数由小到大输出。
l=[]
foriinrange(3):
x=int(input("
l.append(x)
l.sort()
print(i,end="
22、使用列表生成式方法求解百钱买百鸡问题。
假设大鸡5元一只,中鸡3元一只,小鸡1元三只,
现有100元钱想买100只鸡,有多少种买法?
l=[(i,j,k)foriinrange(0,100)forjinrange(0,100)forkinrange(0,100)ifi+j+k==100and5*i+3*j+k/3==100]
print(i)
23、使用给定的整数n,编写一个程序生成一个包含(i,i*i)的字典,该字典包含1到n之间的整数(两者都包含)。
然后程序应该打印字典。
8
{1:
1,2:
4,3:
9,4:
16,5:
25,6:
36,,7:
49,8:
64}
n="
d={}
d[i]=i*i
print(d)
24、使用列表生成式随机产生10个两位的正整数,存入列表ls中,输出ls中的这10个随机数,
然后对这10个随机数求平均值,并输出统计高于平均值的数有多少个。
fromrandomimport*
ls=[randint(10,99)foriinrange(10)]
print(ls)
aver=sum(ls)/len(ls)
n=0
foriinls:
ifi>
aver:
n=n+1
print(n)
25、编写一个程序,输出2000到3200〔含2000和3200〕之间所有是7的倍数,但不是5的倍数的整数。
要求:
用列表保存符合条件的整数,输出结果各整数之间用逗号分隔,并输出在一行上。
foriinrange(2000,3201):
ifi%7==0andi%5!
l.append(str(i))
.join(l))
26、编写一个程序,接收一系列单个空格分隔的单词作为输入,在删除所有重复的单词并按字母升序排序后打印这些单词。
helloworldandpracticemakesperfectandhelloworldagain
againandhellomakesperfectpracticeworld
l=x.split()
s=set(l)
l2=list(s)
l2.sort()
print(i,end="
27、编写一个接收句子并计算字母和数字的程序。
Helloworld!
123
字母10
数字3
d={'
字母'
:
0,'
数字'
0}
foriinx:
ifi.isdigit():
d['
]=d['
]+1
elifi.isalpha():
fork,vind.items():
{}{}"
.format(k,v))
28、使用列表生成式来求列表中的每个奇数。
该列表由一系列逗号分隔的数字输入。
[1,2,3,4,5,6,7,8,9]
[1,3,5,7,9]【参考代码】:
l=eval(input("
l="
l2=[iforiinlifi%2==1]
print(l2)
29、编写函数,模拟Python内置函数sorted()。
defSorted(v):
t=v[:
]
r=[]
whilet:
tt=min(t)
r.append(tt)
t.remove(tt)
returnr
30、编写函数,判断一个数字是否为素数,是那么返回字符串YES,否那么返回字符串NO。
defIsPrime(n):
foriinrange(2,n):
return'