这个网站还是有点新(抱歉,如果我搞砸了),所以我这周的作业是处理列表...... 我的教授希望我修改石头、剪刀、布游戏以使用二维列表。我能做到的。剩下的就是问题了。我需要在二维列表中搜索结果,并发布玩家是否获胜或计算机,并跟踪每个玩家获胜的次数,直到玩家不想再玩为止。我已经查看并尝试了两种不同的方法来进行搜索,但我要么陷入无限循环,要么什么都不做就结束......现在我陷入无限循环。我认为输出很简单。
这是我经过多次重写后当前的代码...我将旧版本中不使用列表的其他所有内容都注释掉了,所以我没有发布它。
compchoice = " "
humwin = 0
compwin = 0
again = 'Y'
playing = True
outcomes = [[1, 2], [2, 3], [3, 1], [2, 1], [3, 2], [1, 3], [1, 1], [2, 2], [3, 3]]
#thelist = []
#thelist.append("Player 1 = {playerchoice}, Player 2 = {compchoice}")
while playing:
playerpic = int(input("Pick 1 for Rock, 2 for Paper, or 3 for Scissors: "))
comppic = random.randint(1, 3)
pick = [playerpic, comppic]
for x in range(len(outcomes)):
for i in range(len(outcomes[x])):
if pick == outcomes[x][i]:
print("You chose Rock.")
print("Computer choose Paper")
print("You lost")
compwin += 1
print("Human: ", humwin, " Computer: ", compwin)
break
#will not break, seems to ignore if? missing something!
我会将问题分为几个步骤:
您已经弄清楚了 1. 和 2.。问题是...您应该如何设计您的 2D 列表?
我认为使用播放器和计算机输入来选择结果是有意义的:所以
result = my_2d_list[player_choice][computer_choice]
您期望
result
的输出是什么?使用 player_choice
和 computer_choice
作为索引输出此结果时,该列表必须是什么样子?