2301_77561186 2023-04-11 10:57 采纳率: 100%
浏览 32
已结题

python问题求解

1.根据华氏和摄氏温度的转换公式,c=(F-32)/1.8,F=C*1.8+32.请用异常处理机制,编程处理接受用户的任何输入,进行温度转换。

2.设计猜数字游戏,产生随机数,如果输入非整数,抛出异常;如果输入的数字比随机数小,输出“您输入的数字太小了!”;如果输入的数字比随机数大,输出“您输入的数字太大了!”。请用异常处理,使其能够接受并处理用户的任何输入。

3.从键盘输入3个整数,放入列表中,然后打印输出。如果输入数据不为整数,抛出异常,显示“请输入整数”;如果输入参数不足3个,抛出异常,显示“请输入3个整数”。
求多种解,python

  • 写回答

3条回答 默认 最新

  • 创意程序员 2023-04-11 11:07
    关注

    Python中可以使用以下几种方式来处理异常:
    try-except语句:可以捕获异常并进行处理。
    try-except-else语句:可以在没有发生异常的情况下执行一些操作。
    try-except-finally语句:无论是否发生异常,都会执行finally语句中的代码。
    raise语句:可以手动抛出异常。
    assert语句:可以用来检查某个条件是否满足,如果不满足则抛出异常。
    这些方式都可以用来处理异常,选择哪种方式取决于具体的情况。通常情况下,使用try-except语句即可满足需求。如果需要在没有异常的情况下执行一些操作,可以使用try-except-else语句;如果需要无论是否发生异常都执行一些操作,可以使用try-except-finally语句;如果需要手动抛出异常,可以使用raise语句;如果需要检查某个条件是否满足,可以使用assert语句。以下为使用try-except语句来处理异常的示例。

    1、温度转换

    while True:
        try:
            temp = input("请输入温度值及单位(例如:32C或者90F):")
            degree = int(temp[:-1]) # 获取温度值
            unit = temp[-1] # 获取温度单位
            if unit.upper() == "C":
                result = degree * 1.8 + 32
                print("转换后的温度为:%.2fF" % result)
            elif unit.upper() == "F":
                result = (degree - 32) / 1.8
                print("转换后的温度为:%.2fC" % result)
            else:
                print("输入格式有误,请输入正确的温度值及单位!")
        except:
            print("输入格式有误,请输入正确的温度值及单位!")
    

    2、猜数

    import random
    
    rand_num = random.randint(1, 100)  # 产生一个1到100的随机数
    while True:
        try:
            num = int(input("请输入一个整数:"))
            if num < rand_num:
                print("您输入的数字太小了!")
            elif num > rand_num:
                print("您输入的数字太大了!")
            else:
                print("恭喜您,猜对了!")
                break
        except:
            print("输入有误,请输入一个整数!")
    

    3、输入3个整数:

    num_list = []
    try:
        num_str = input("请输入3个整数(用空格或逗号分隔):")
        num_str_list = num_str.replace(",", " ").split() # 将逗号替换为空格,然后用空格分隔
        if len(num_str_list) != 3:
            raise ValueError("请输入3个整数")
        for num in num_str_list:
            if not num.isdigit(): # 判断输入是否为整数
                raise ValueError("请输入整数")
            num_list.append(int(num))
    except ValueError as e:
        print(e)
    else:
        print(num_list)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 4月11日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?