Python程序设计 循环结构

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("输入错误")

8.选择题

  • 16
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值