【发布时间】:2023-04-03 19:06:01
【问题描述】:
我有这个代码:
def random_answerlist(self):
self.li = []
self.winning_button = random.randint(0, 3)
i = 0
while i < 20 and len(self.li) is not 4:
if i == self.winning_button:
self.li.append(self.flags[self.current_flag][0])
else:
new_value = self.random_value()
if self.flags[new_value][0] not in self.li:
self.li.append(self.flags[new_value][0])
i += 1
return self.li
唯一的问题是第一个 if-case 可能会发生多次,这应该是不可能的。我已经搜索了一个很好的解释,但我找不到任何解释。
哦,我知道代码不是最好的。但我对 python 有点陌生(仅仅一个月左右),并认为这可能有效,但它没有!
你们知道为什么吗? =)
【问题讨论】:
-
你有什么证据表明第一个 if-case 执行了多次?
-
你使用
is not
而不是!=
有什么原因吗? -
不,没有。我现在已经改了。感谢您的建议!但是“不是”和“!=”之间的主要区别是什么?
-
You couldn't solve it since I didn't post the whole code.
太棒了
标签:
python
loops
if-statement
case
while-loop
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 运行一个它不应该运行的 if-case! - Python技术站