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 无效。我试图移动"秒"在功能面前它却给了我一个错误,比如"本地变量'秒'在分配之前引用"
答案 0 :(得分:0)
我将总结一下:
我们认为你混淆了两种陈述:
seconds = -60
seconds -= 60
第一个删除之前的秒值,并指定一个新值 -60 ;第二个相当于
seconds = seconds - 60
您的代码流表明第二个代码是您所需要的;同样的变化适用于分钟。
while 逻辑中存在冲突:虽然循环控件似乎想要重复循环一段时间,但在第一次迭代中它会被一个返回声明或其他。你无法到达循环的底部并返回第二次迭代。
为什么要返回布尔值?目前尚不清楚,因为您的主要代码不使用它。如果确实需要返回值,可能需要在循环中设置变量,然后在循环之后返回该变量。
答案 1 :(得分:0)
def sec_to_min():
minutes=0
seconds = int(input("How many seconds you want to convert?"))
while True:
if seconds>=60:
while seconds>=60:
seconds =seconds-60
minutes+=1
print(minutes)
break
else:
print(seconds,"sec")
break
sec_to_min()
问题是如果只运行一次+符号全部倒置