15分钟学Python :详解Python控制流和循环结构(补充)--作业答案

一、练习题

一)控制流练习题

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。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值