【发布时间】:2016-12-01 18:01:39
【问题描述】:
minutes = 0
def sec_to_min():
seconds = int(input("How many seconds you want to convert?"))
while True:
if seconds >= 60:
seconds =-60
minutes =+1
print(minutes)
return True
else:
print(seconds,"sec")
return False
sec_to_min()
当我输入 60 或更多时,它只会打印“1”,仅此而已。我的 if 不工作。我试图在函数前面移动“秒”,但它给了我一个错误,比如“赋值前引用的局部变量'秒'”
【问题讨论】:
-
您的意思是写
seconds -= 60(将秒减六十)而不是seconds = -60(将秒设置为负六十)?分钟相同(这就是它只返回 1 的原因;你只将它设置为 1)。 -
请正确格式化您的代码。问题是您
return来自if和else语句中的函数。你必须用循环来做吗? -
谢谢你们的建议,但我真的不知道你们怎么看,你能更新我的代码吗?
-
第一条评论已经告诉你究竟出了什么问题以及如何解决它。
-
@MatejPakán 非常正确;修复代码是你的工作。其他人发现并描述了问题。