Justin.zst 发表于 2023-10-9 23:49:01

这个代码有什么问题啊

print("温度转换选择\n1、华氏温度转换成摄氏温度\n2、摄氏温度转换成华氏温度")
temp= input('请输入选择:')

if temp == 1:
    F= float(input("请输入华氏温度:"))
    C=5/9*(F-32)
    print('华氏温度',F,"等于摄氏温度",C)
elif temp == 2:
    C= float(input("请输入摄氏温度:"))
    F=9/5*C+32
    print('华氏温度',F,"等于摄氏温度",C)
else:
    print('输入错误')

陶远航 发表于 2023-10-9 23:49:26

这个代码中存在一个问题,即temp变量的比较应该是字符串而不是整数。当你使用input()函数时,它会返回一个字符串,而不是整数。因此,在if和elif语句中,你需要将1和2用引号括起来,将它们表示为字符串。以下是修改后的代码:

print(\"温度转换选择\
1、华氏温度转换成摄氏温度\
2、摄氏温度转换成华氏温度\")
temp = input('请输入选择:')

if temp == '1':
    F = float(input(\"请输入华氏温度:\"))
    C = 5/9 * (F - 32)
    print('华氏温度', F, \"等于摄氏温度\", C)
elif temp == '2':
    C = float(input(\"请输入摄氏温度:\"))
    F = 9/5 * C + 32
    print('摄氏温度', C, \"等于华氏温度\", F)
else:
    print('输入错误')


现在,这个代码应该可以正常运行并根据用户输入的选择进行温度转换。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案

isdkz 发表于 2023-10-9 23:49:52

这段代码的问题在于,输入的temp变量是一个字符串类型,而在if条件语句中,却将temp与整数1和2做了比较。这样做会导致条件不成立,无法进入if和elif语句中的代码块,从而无法完成温度转换的功能。

正确的做法是将temp变量转换为整数类型,可以使用int()函数实现。修改后的代码如下:

print("温度转换选择\n1、华氏温度转换成摄氏温度\n2、摄氏温度转换成华氏温度")
temp = int(input('请输入选择:'))

if temp == 1:
    F = float(input("请输入华氏温度:"))
    C = 5/9*(F-32)
    print('华氏温度', F, "等于摄氏温度", C)
elif temp == 2:
    C = float(input("请输入摄氏温度:"))
    F = 9/5*C+32
    print('摄氏温度', C, "等于华氏温度", F)
else:
    print('输入错误')


修改后,代码可以正确地进行温度转换,输出结果如下:

温度转换选择
1、华氏温度转换成摄氏温度
2、摄氏温度转换成华氏温度
请输入选择:1
请输入华氏温度:100
华氏温度 100.0 等于摄氏温度 37.77777777777778

温度转换选择
1、华氏温度转换成摄氏温度
2、摄氏温度转换成华氏温度
请输入选择:2
请输入摄氏温度:37
摄氏温度 37.0 等于华氏温度 98.6
页: [1]
查看完整版本: 这个代码有什么问题啊