一、练习题
一)控制流练习题
1、编写一个程序,根据用户输入的分数输出成绩等级(A, B, C, D, F)。
def grade(score):
if score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
else:
return 'F'
def main():
try:
score = float(input("请输入您的分数:"))
if 0 <= score <= 100:
print("成绩等级:", grade(score))
else:
print("分数必须在0到100之间。")
except ValueError:
print("请输入一个有效的分数。")
if __name__ == "__main__":
main()
这段代码定义了一个grade
函数,它根据传入的分数返回对应的成绩等级。main
函数负责获取用户输入,并调用grade
函数来输出成绩等级。如果用户输入的分数不在0到100之间,程序会提示用户输入一个有效的分数。如果输入的不是数字,程序会捕获ValueError
异常,并提示用户输入一个有效的分数。
2、编写一个程序来检查一个输入的数字是否为奇数或偶数。
def check_number(num):
if num % 2 == 0:
return "偶数"
else:
return "奇数"
def main():
try:
number = int(input("请输入一个数字:"))
print("您输入的数字是:", check_number(number))
except ValueError:
print("请输入一个有效的整数。")
if __name__ == "__main__":
main()
这段代码定义了一个check_number
函数,它接受一个整数参数并返回该数字是奇数还是偶数。main
函数负责获取用户输入,并调用check_number
函数来输出结果。如果用户输入的不是一个整数,程序会捕获ValueError
异常,并提示用户输入一个有效的整数。
二)循环结构练习题
1、编写一个程序,输出1到100之间的所有偶数。
def check_number(num):
if num % 2 == 0:
return "偶数"
else:
return "奇数"
def main():
try:
number = int(input("请输入一个数字:"))
print("您输入的数字是:", check_number(number))
except ValueError:
print("请输入一个有效的整数。")
if __name__ == "__main__":
main()
这段代码定义了一个check_number
函数,它接受一个整数参数并返回该数字是奇数还是偶数。main
函数负责获取用户输入,并调用check_number
函数来输出结果。如果用户输入的不是一个整数,程序会捕获ValueError
异常,并提示用户输入一个有效的整数。
2、编写一个程序,计算1到n(n为用户输入)之间所有数字的和。
def sum_of_numbers(n):
total = 0
for i in range(1, n + 1):
total += i
return total
def main():
try:
n = int(input("请输入一个正整数:"))
if n > 0:
print("1到{}之间的所有数字之和为:{}".format(n, sum_of_numbers(n)))
else:
print("请输入一个大于0的正整数。")
except ValueError:
print("请输入一个有效的正整数。")
if __name__ == "__main__":
main()
这段代码定义了一个sum_of_numbers
函数,它接受一个正整数参数n,并返回1到n之间所有数字的和。main
函数负责获取用户输入,并调用sum_of_numbers
函数来输出结果。如果用户输入的不是一个正整数,程序会捕获ValueError
异常,并提示用户输入一个有效的正整数。如果输入的是一个非正整数,程序会提示用户输入一个大于0的正整数。
二、项目作业
一)控制流项目:编写一个小型成绩管理系统,可以输入多个学生的分数,并根据分数显示相应的成绩等级。
def grade(score):
if score >= 90:
return 'A'
elif score >= 80:
return 'B'
elif score >= 70:
return 'C'
elif score >= 60:
return 'D'
else:
return 'F'
def main():
students_scores = {}
while True:
student_name = input("请输入学生姓名(输入'q'结束输入):")
if student_name == 'q':
break
try:
score = float(input("请输入{}的分数:".format(student_name)))
if 0 <= score <= 100:
students_scores[student_name] = score
else:
print("分数必须在0到100之间。")
except ValueError:
print("请输入一个有效的分数。")
print("\n成绩等级如下:")
for student, score in students_scores.items():
grade_result = grade(score)
print("{}的成绩为{},等级为{}".format(student, score, grade_result))
if __name__ == "__main__":
main()
这段代码定义了一个grade
函数,它根据传入的分数返回对应的成绩等级。main
函数负责获取用户输入的学生姓名和分数,并存储在students_scores
字典中。如果用户输入’q’,则停止输入。程序会遍历students_scores
字典,并使用grade
函数计算每个学生的成绩等级,然后打印出来。
用户可以持续输入学生姓名和对应的分数,当输入’q’时,程序会停止接收输入,并输出所有学生的成绩等级。
二)循环项目:设计一个简单的猜数字游戏,计算用户的猜测次数,并根据每次猜测的结果给予提示。
import random
def guess_number_game():
number_to_guess = random.randint(1, 100)
attempts = 0
print("欢迎来到猜数字游戏!")
print("我已经想好了一个1到100之间的数字。")
while True:
try:
guess = int(input("请输入你的猜测:"))
attempts += 1
if guess < 1 or guess > 100:
print("请确保你的猜测在1到100之间。")
continue
if guess < number_to_guess:
print("太小了!再试一次。")
elif guess > number_to_guess:
print("太大了!再试一次。")
else:
print(f"恭喜你!正确答案是{number_to_guess}。你总共猜了{attempts}次。")
break
except ValueError:
print("请输入一个有效的整数。")
if __name__ == "__main__":
guess_number_game()
这段代码定义了一个guess_number_game
函数,它首先随机生成一个1到100之间的数字,然后让用户进行猜测。程序会记录用户的猜测次数,并根据用户的每次猜测给出提示。如果用户猜中了数字,程序会输出恭喜信息并显示用户猜测的次数,然后结束游戏。如果用户的输入不是一个整数,程序会捕获ValueError
异常,并提示用户输入一个有效的整数。如果用户的猜测不在1到100之间,程序会给出提示并让用户重新猜测。
有问题我们可以评论区聊,当然哈,如果可以的话多多扫码关注上面的GZH。