我想做一个温度单位的转换器,我遇到了一个问题,试图使它愚蠢的证明。
Units = "Celsius", "celsius", "Fahrenheit", "fahrenheit", "Kelvin", "kelvin"
temp_o = input("¿Do you wish to convert Celsius, Fahrenheit, or Kelvin?")
for temp_o not in Units:
temp_o = input("Insert an accepted unit of measurement")
这段代码给了我以下错误:
File "C:\XXX\XXX\XXX\XXX.py", line 7
for temp_o not in Units:
^
SyntaxError: invalid syntax
它说“:”是无效的语法(?).如果我把它移走,它也不起作用。你知道吗?
1条答案
按热度按时间nwsw7zdq1#
代码的错误是在这个特定的情况下使用了for循环代替了while循环。for循环用于对每个元素执行相同的操作,但您希望检查temp_o的值是否不存在于Units列表中,如果是,则希望用户输入有效的测量单位,直到他正确为止。
1.将圆括号添加到Units变量以使其成为列表。
1.您可以简单地将所有温度更改为小写,并使用temp_o变量的“lower”方法,而不是将同一温度的多个版本写入Celsius或celsius。
1.将for替换为while。
这应该能让它工作。