python-3.x for循环中的正确语法

wydwbb8l  于 2023-07-01  发布在  Python
关注(0)|答案(1)|浏览(186)

我想做一个温度单位的转换器,我遇到了一个问题,试图使它愚蠢的证明。

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

它说“:”是无效的语法(?).如果我把它移走,它也不起作用。你知道吗?

nwsw7zdq

nwsw7zdq1#

代码的错误是在这个特定的情况下使用了for循环代替了while循环。for循环用于对每个元素执行相同的操作,但您希望检查temp_o的值是否不存在于Units列表中,如果是,则希望用户输入有效的测量单位,直到他正确为止。

Units = ["celsius", "fahrenheit", "kelvin"]
temp_o = input("""Do you wish to convert Celsius, Fahrenheit, or Kelvin?
--> """).lower()
while temp_o not in Units:
    temp_o = input("Insert an accepted unit of measurement: ").lower()

1.将圆括号添加到Units变量以使其成为列表。
1.您可以简单地将所有温度更改为小写,并使用temp_o变量的“lower”方法,而不是将同一温度的多个版本写入Celsius或celsius。
1.将for替换为while。
这应该能让它工作。

相关问题