这是学校的一项任务,我不应该使用 bool 变量或主要方法。 我使用学校推荐的 replit,它有一些人工智能自动更正风格功能,可以帮助我让代码按照我想要的方式工作。
def fahr_to_cel (celsius):
celsius = (celsius - 32) * 5 / 9
return(celsius)
try:
fahrenheit = int(input("Skriv en temperatur i fahrenheit: "))
celsius = (fahrenheit - 32) * 5/9
print(f"Temperaturen i Celsius är: {celsius:.2f}")
if celsius <= 82:
print ("Det är för kallt")
elif celsius >=87:
print ("Det är för varmt")
else: print ("Det är lagom")
except ValueError:
print("Ogiltig inmatning. Skriv ett heltal.")
celsius = int(input())
celsius = (fahr_to_cel(celsius))
所以现在 def 部分没用了,我可以直接删除它,如果我这样做,我仍然在 main 方法之外吗?
我还尝试将 def 移到 try 中,需要将其删除,所以我删除了它,我的代码如下所示
try:
fahrenheit = int(input("Skriv en temperatur i fahrenheit: "))
def fahr_to_cel (celsius):
celsius = (celsius - 32) * 5 / 9
print(f"Temperaturen i Celsius är: {celsius:.2f}")
if celsius <= 82:
print ("Det är för kallt")
elif celsius >=87:
print ("Det är för varmt")
else: print ("Det är lagom")
except ValueError:
print("Ogiltig inmatning. Skriv ett heltal.")
celsius = int(input())
celsius = (fahr_to_cel(celsius))
但是现在由于某种原因没有定义摄氏度,我错过了什么?
正确代码:
def fahr_to_cel(celsius):
return (celsius-32)* 5 / 9
try:
fahrenheit = int(input("Skriv en temperatur i fahrenheit: "))
celsius=fahr_to_cel
print(f"Temperaturen i Celsius är: {celsius:.2f}")
if (celsius<=82):
print ("Det är för kallt")
elif (celsius>=87):
print ("Det är för varmt")
else:
print ("Det är lagom")
except ValueError:
print("Ogiltig inmatning. Skriv ett heltal.")
最后我不明白摄氏等。 def 可以放在 try 里面,这通常是一个很好的做法。但是你的问题不太好,你能改进一下吗?