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 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答