鱼C论坛

 找回密码
 立即注册
查看: 869|回复: 2

[已解决]这个代码有什么问题啊

[复制链接]
发表于 2023-10-9 23:49:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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()函数时,它会返回一个字符串,而不是整数。因此,在ifelif语句中,你需要将12用引号括起来,将它们表示为字符串。以下是修改后的代码:

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

  5. if temp == '1':
  6.     F = float(input("请输入华氏温度:"))
  7.     C = 5/9 * (F - 32)
  8.     print('华氏温度', F, "等于摄氏温度", C)
  9. elif temp == '2':
  10.     C = float(input("请输入摄氏温度:"))
  11.     F = 9/5 * C + 32
  12.     print('摄氏温度', C, "等于华氏温度", F)
  13. else:
  14.     print('输入错误')
复制代码


现在,这个代码应该可以正常运行并根据用户输入的选择进行温度转换。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-9 23:49:26 | 显示全部楼层    本楼为最佳答案   
这个代码中存在一个问题,即temp变量的比较应该是字符串而不是整数。当你使用input()函数时,它会返回一个字符串,而不是整数。因此,在ifelif语句中,你需要将12用引号括起来,将它们表示为字符串。以下是修改后的代码:

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

  5. if temp == '1':
  6.     F = float(input("请输入华氏温度:"))
  7.     C = 5/9 * (F - 32)
  8.     print('华氏温度', F, "等于摄氏温度", C)
  9. elif temp == '2':
  10.     C = float(input("请输入摄氏温度:"))
  11.     F = 9/5 * C + 32
  12.     print('摄氏温度', C, "等于华氏温度", F)
  13. else:
  14.     print('输入错误')
复制代码


现在,这个代码应该可以正常运行并根据用户输入的选择进行温度转换。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-10-9 23:49:52 | 显示全部楼层
这段代码的问题在于,输入的temp变量是一个字符串类型,而在if条件语句中,却将temp与整数1和2做了比较。这样做会导致条件不成立,无法进入if和elif语句中的代码块,从而无法完成温度转换的功能。

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

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

  3. if temp == 1:
  4.     F = float(input("请输入华氏温度:"))
  5.     C = 5/9*(F-32)
  6.     print('华氏温度', F, "等于摄氏温度", C)
  7. elif temp == 2:
  8.     C = float(input("请输入摄氏温度:"))
  9.     F = 9/5*C+32
  10.     print('摄氏温度', C, "等于华氏温度", F)
  11. else:
  12.     print('输入错误')
复制代码


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

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

  7. 温度转换选择
  8. 1、华氏温度转换成摄氏温度
  9. 2、摄氏温度转换成华氏温度
  10. 请输入选择:2
  11. 请输入摄氏温度:37
  12. 摄氏温度 37.0 等于华氏温度 98.6
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 08:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表