1.达依尔的麦子数
相传古印度宰相达依尔,是国际象棋的发明者。 有一次,国王因为他的贡献要奖励他,问他想要什么.达依尔说:”只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格一麦子数的两倍,摆满整个棋盘,我就感恩不尽了。 编写程序,根据输入的格子数,计算国王要付给达依尔的麦子数。
n=eval(input())
sum1 = 1
sum2 = 1
for i in range(1,n):
sum2 = sum2 * 2
sum1 = sum1 + sum2
print("麦子数%d" % sum1)
2.四级单词查询
大学英语四级考试,即CET-4,College English Test Band 4的缩写,是由国家教育部高等教育司主持的全国性英语考试。 英语四级大纲要求的词汇量是4500个词,是英语备考的关键。 《四级词汇.txt》文件如图所示,每行显示一个单词及其中文释义。
3.编写一个程序,输入一个单词(英文或中文),将所有包含该单词的行显示出来,并统计共有几个。 若该单词不存在,则显示没有此单词。
word=input("输入单词")
f1=open("sy5//四级词汇.txt","r")
s = 0
for i in f1:
if i.find(word) != -1:
s += 1
print(i,end="")
if s != 0:
print("共有%d个单词"%s,end="")
else:
print("没有此单词")
4.出租车车费计算
某地出租车计费程序,规则如下: 白天起步2公里内8元,2公里以上续程单价每公里为2.0元, 夜间(22:00一次日5:30)2公里内10元,2公里以上续程单价每公里为2.40元。 此外,还要附加低速计时收费。在时速12公里/小时(含12公里/小时)以下,累计每满2分钟计费1元。 本官任务:编写程序,输入打车的时间,公里数和低速行驶的时间(分钟),计算车费。要求能循环计算
jx="y"
while True:
start_time = input("请输入打车时间(小时:分钟)")
lichen = eval(input("请输入里程"))
ds_time = eval(input("请输入低速行驶时间(分钟)"))
xs = int(start_time.split(":")[0])
fz = int(start_time.split(":")[1])
if xs<22 and xs >= 5:
if lichen<=2:
cf = 8 + int(ds_time/2)
else:
cf = 8 + (lichen-2)*2 + int(ds_time/2)*1
else:
if lichen <= 2:
cf = 10 + int(ds_time/2)
else:
cf = 10 + (lichen-2)*2.4 + int(ds_time/2)*1
print("车费是{:.2f}元".format(cf))
sfjx = input("是否继续(y/n)")
if sfjx != jx:
break
5.正弦函数的麦克劳林级数
编写程序,从键盘输入x的值,根据麦克劳林级数求正弦值,直到最后一项绝对值小于le−7(即10−7)为止 (注:x为弧度值)
x=eval(input("输入x"))
import math
fz = x
fm = 1
s = 0
n = 1
while True:
if abs(fz/fm) >= 1e-7:
s = s + fz / fm
fz = -x * x * fz
fm = fm * (2 * n) * (2 * n + 1)
n = n + 1
else:
break
print("sin(%.2f)=%.2f"%(x,s))
6.素数判断
素数,就是除了1和它自身外,再没有其它因子的自然数。 编写程序,输入一个整数,判断其是否为素数。
x=eval(input("请输入一个整数"))
for i in range(2,x):
if x % i == 0:
print("%d不是素数" % x)
break
else:
print("%d是素数" % x)
7.整数统计
从键盘输入若干个1-100之间的整数,求这些数的和、个数、平均值、最大值、最小值。 若输入0,则输入结束,显示统计结果。若输入不符合要求的数,则显示输入错误,并不将该数计算在内。
count = 0
sum1 = 0
max1 = 0
min1 = 100
while True:
a = eval(input("请输入一个整数(1-100)"))
if a >0 and a<=100:
count += 1
sum1 = sum1 + a
if a < min1:
min1 = a
if a > max1:
max1 = a
elif a == 0:
print("有效数%d个,和%d,平均值%.1f,最大值%d,最小值%d"%(count,sum1,sum1/count,max1,min1))
break
elif a < 0 or a > 100:
print("输入错误")