【发布时间】:2021-02-04 21:03:31
【问题描述】:
所以,我正在尝试创建一个简单的彩票机,它会一直选择号码直到您中奖。我选择了我的彩票号码 (my_number),然后将其与我使用函数“pick_winning_numbers强>”。
我设置了一个 while 循环,该循环一直运行到标志等于 True。这是由函数“比较数字”设置的,只是它从不改变标志。无论如何,while 循环始终保持运行。
我已经尝试将 if 语句从函数中取出,我已经尝试将 while 循环取出,我已经尝试重写代码 5 次。这些都没有帮助。请帮助我,因为我在这方面花了我这么多时间。代码如下。
from random import choice
def pick_winning_numbers():
#puts 4 numbers into a list and makes sure that they arent duplicates
while len(winning_numbers) <4:
chosen_number = choice(possible_numbers)
if chosen_number not in winning_numbers:
winning_numbers.append(chosen_number)
def compare_numbers():
#Compares the number that I picked to the list of winning numbers and sets the flag to true or false
if my_number in winning_numbers:
print(f"Congratulations, you have won")
flag = False
else:
flag = True
possible_numbers = [1,2,3,4,5,6,7,8,9]
my_number = 7
winning_numbers = []
counter = 0
flag = True
while flag == True:
pick_winning_numbers()
print(winning_numbers)
compare_numbers()
print(flag)
【问题讨论】:
标签: python if-statement while-loop flags choice