S0,基本上,我写了一个更长的程序,用另一种语言测试我的时态。它根据掷出的骰子随机测试我。但是,我引用的代码段由于某种原因不起作用。问题是,如果我输入“现在”或“未来”,则会跳到其他部分。“两者”出于某种原因都有效。我究竟做错了什么?这真的让我很烦,因为我看不出它有什么问题。
tenses_tested = input("Would you like to be tested on the present, future simple, or both?")
if "present" in tenses_tested:
roll_range = 6
roll_addition = 0
if "future" in tenses_tested:
roll_range = 6
roll_addition = 6
if "both" in tenses_tested:
roll_range = 13
roll_addition = 0
else:
print("Something went wrong because this keeps coming up...")
roll_range = 13
roll_addition = 0
不,这不是发生的事情。它成功进入 if 块取决于您输入的是“present”还是“future”。但随后它进入了最后一个条件。该条件独立于前两个,并且else
仅适用于该条件;因此,由于第三个 if 为 false,else 将被触发,并将覆盖原始值。
解决方案是使用elif
.
if "present" in tenses_tested:
roll_range = 6
roll_addition = 0
elif "future" in tenses_tested:
roll_range = 6
roll_addition = 6
elif "both" in tenses_tested:
roll_range = 13
roll_addition = 0
else:
print("Something went wrong because this keeps coming up...")
roll_range = 13
roll_addition = 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句