所以我在我的业余时间工作我的彩票代码,我遇到了一个小问题。你知道吗
我想防止用户输入两个相同的数字在他们的彩票抽奖号码,即我不希望用户选择数字1两次。你知道吗
其他的都很好。你知道吗
这是我的全部代码:
import random
lotteryNumbers = []
print("Welcome to your new Lotto service")
lotterydrawfile = open("lotterydrawfile.txt","w")
for i in range (6):
number = random.randint(1,60)
lotterydrawfile.write(str(number) + " ")
lotterydrawfile.close()
userentryfile = open("userentryfile.txt","w")
for i in range (6):
number = input("Enter a number between 0 and 60. Numbers must not be in word format")
for i in range (1000):
if number < "0" or number > "60":
print("Your number needs to be between 0 and 60")
number = input("Enter a number between 0 and 60")
print(str(number))
userentryfile.write(str(number) + " ")
userentryfile.close()
userlottonumbers = open("userentryfile.txt").read()
usernumber = []
number_string = ""
for i in userlottonumbers:
number_string = number_string + str(i)
if str(i) == " ":
usernumber.append(number_string)
number_string = ""
print("Your numbers are " + str(usernumber))
lotterydraw = open("lotterydrawfile.txt").read()
number_string1 = ""
lottodraw = []
for j in lotterydraw:
number_string1 = number_string1 + str(j)
if str(j) == " ":
lottodraw.append(number_string1)
number_string1 = ""
print("The lotto draw was " + str(lottodraw))
same = 0
for i in usernumber:
for j in lottodraw:
if i == j:
same =same + 1
prize = same * 100
if same == 6:
prize = 10000000
print("You won £" + str(prize))
我想做的改进就是从这里开始:
userentryfile = open("userentryfile.txt","w")
for i in range (6):
number = input("Enter a number between 0 and 60. Numbers must not be in word format")
for i in range (1000):
if number < "0" or number > "60":
print("Your number needs to be between 0 and 60")
number = input("Enter a number between 0 and 60")
但在下面,我希望用户停止输入两个相同的数字。你知道吗
提前谢谢。你知道吗
python中有一种称为set的数据类型。放在一个集合中的任何东西都必须是唯一的。一个集合中的每件事物一次只能有一件。下面的代码还应该捕获大多数(如果不是所有)可能会在将来给您带来问题的边缘情况。它确保用户输入的是一个数字,介于0和60之间,以前没有被选取过,并且将从用户那里得到6个数字。你知道吗
要在程序中使用此函数,只需将函数调用放在文件的顶部,然后在已经编写的代码中使用函数调用。下面是代码的示例:
我认为你真的需要一个while循环,并在选择数字时存储它们,如下所示:
这是在这里测试的:https://repl.it/NJWE/2
将用户输入的数字保留在列表中,并测试最近的输入是否已在该列表中:
相关问题 更多 >
编程相关推荐