如何搜索二维列表才能玩石头、剪刀、布?

问题描述 投票:0回答:1

这个网站还是有点新(抱歉,如果我搞砸了),所以我这周的作业是处理列表...... 我的教授希望我修改石头、剪刀、布游戏以使用二维列表。我能做到的。剩下的就是问题了。我需要在二维列表中搜索结果,并发布玩家是否获胜或计算机,并跟踪每个玩家获胜的次数,直到玩家不想再玩为止。我已经查看并尝试了两种不同的方法来进行搜索,但我要么陷入无限循环,要么什么都不做就结束......现在我陷入无限循环。我认为输出很简单。

这是我经过多次重写后当前的代码...我将旧版本中不使用列表的其他所有内容都注释掉了,所以我没有发布它。

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!
python list search 2d
1个回答
0
投票

我会将问题分为几个步骤:

  1. 让玩家选择石头/剪刀/布
  2. 让电脑选择石头/剪刀/布
  3. 根据1.和2.从2D列表中选择相应的比赛
  4. 显示结果

您已经弄清楚了 1. 和 2.。问题是...您应该如何设计您的 2D 列表?

我认为使用播放器和计算机输入来选择结果是有意义的:所以

result = my_2d_list[player_choice][computer_choice]

您期望

result
的输出是什么?使用
player_choice
computer_choice
作为索引输出此结果时,该列表必须是什么样子?

© www.soinside.com 2019 - 2024. All rights reserved.