文章目录
-
- 任务1、完成猜数游戏
- 任务2、计算阶乘之和
- 任务3、用米粒填充国际象棋盘
-
- 任务4、求20个学生的平均成绩
-
任务1、完成猜数游戏
- 游戏规则:程序产生一个[1, 100]之间的随机整数,用户输入整数进行猜测,如果猜对了,就会循环你是否要继续玩游戏;如果猜错了,程序会提示你是猜高了还是猜低了,然后让你继续输入整数进行猜测。
- 代码
import random
while True:
target = random.randint(0, 100)
x = int(input("Try to guess the number I'm think of: "))
while True:
if x > target:
x = int(input('Too high! Guess again: '))
elif x < target:
x = int(input('Too low! Guess again: '))
else:
break
choice = input("That's it! Would you like to play again? (yes/no)")
if choice == 'no':
break
print("Thanks for playing.")
- 运行结果
任务2、计算阶乘之和
- 计算 1! + 2! + 3! + … + 10! 的值
- 代码
sum = 0
for n in range(1, 11):
jc = 1
for i in range(1, n + 1):
jc = jc * i
sum = sum + jc
print('1! + 2! + 3! + ...+ 10! = {}'.format(sum))
- 运行结果
任务3、用米粒填充国际象棋盘
- 国际象棋盘中,第1 格放1 粒米,第2 格放2 粒米,第3格放4 粒米,第4 格放8 粒米,第5 格放16粒米,……问:64个格子总共可以放多少粒米?
版本1
sum = 0
for i in range(64):
sum = sum + 2 **i
print('{}: {}'.format(i + 1, 2 **i))
print('sum = {}'.format(sum))
- 运行结果
版本2
from math import pow
sum = 0
for i in range(64):
sum = sum + int(pow(2, i))
print('{}: {}'.format(i + 1, int(pow(2, i))))
print('sum = {}'.format(sum))
任务4、求20个学生的平均成绩
- 要求每个学生成绩在[0, 100]范围内,输入不正确,提示用户重新输入,直到输入正确为止
版本1
"""
功能:求20个学生的平均成绩(1)
作者:小小榕
日期:2021年11月18日
"""
sum = 0
for i in range(20):
score = int(input('输入第{}个学生成绩:'.format(i + 1)))
sum = sum + score
average = sum / 20
print('平均成绩:{}'.format(round(average, 2)))
- 运行结果
- 并没有防范超出范围的数据输入,所以要改进。
改进版本
sum = 0
for i in range(20):
while True:
score = int(input('输入第{}个学生成绩:'.format(i + 1)))
if 0 <= score <= 100:
break
else:
print('成绩超出范围,必须在[0,100]范围内!')
sum = sum + score
average = sum / 20
print('平均成绩:{}'.format(round(average, 2)))
- 运行结果