我只是需要一些帮助来回答这个问题。所有细节都在下面提到的问题中。我已经做了一个解决方案,但我有点坚持这一点,真的很感谢有人能引导我到正确的方向。你知道吗
问题:每当我运行程序时,它总是说“youhave:three5”,即使重复三次的数字不是5。希望这是有道理的。我的程序在问题下面。你知道吗
上面的网格可以用Python表示为一个列表变量,比如grid = [2,2,1,3,2]
编写一个Python函数pokietest(list),它将接收一个列表作为参数
如果列表中的数字是3,5,则为4,5
它将返回一个包含2项的列表:
o The first item will be the number of repeated numbers
o The second item will be the value of repeated numbers
编写一个Python函数makeList(),该函数没有参数,返回一个由5个随机整数组成的列表(介于1和5之间,包括1和5)
将你的函数组合成一个程序,显示适当的文本,说明用户是赢了还是输了。你知道吗
(如果没有3、4或5个相同的数字,则会失败。)
例如: 你赢了!或者抱歉你输了
如果他们赢了,它应该显示有多少重复的数字和他们的价值。你知道吗
例如:
你赢了!你有三个2
你知道吗====== 这是我的程序=====
import random
def pokieTester(countList):
count = countList.count(0)
for num in [1,2,3,4,5]:
if count < 3:
count = countList.count(num)
demoList = [count, num]
return demoList
def makeList():
numList = []
for count in [0,1,2,3,4]:
a = random.randint(1,5)
numList.append(a)
return numList
gameList = makeList()
print (gameList)
matches = pokieTester(gameList)
count = matches[0]
num = matches[1]
num_List = ['three','four','five']
if count > 2:
print ("You win")
print ("You have: " , end = '' )
if count == 3:
print (num_List[0], num, end = '')
elif count == 4:
print (num_List[1], num, end ='')
elif count == 5:
print (num_List[2], num, end ='')
else:
print ("Sorry, You lose")
在
pokieTester()
中,for循环的末尾num
将始终是5,因为循环总是执行5次。如果检测到count
>;=3,则需要尽早跳出循环。试试这个:如果任何数字中没有3个或3个以上,那么这个规范的返回值应该是多少,所以上面的函数只返回
[0, 0]
,但是可以说它可以返回None
。你知道吗调用代码可以通过使用字典而不是list
num_List
来简化。然后可以使用count
作为键检索数字的文本版本:相关问题 更多 >
编程相关推荐