问题描述
我对 Python 非常陌生,目前只是尝试研究一些核心概念,例如数据结构,以便更好地了解如何调用某些键和值。
我在下面的代码中遇到了非常不一致的结果,当我(玩家)玩“剪刀”而 NPC 玩“石头”时,我(玩家)仍然以某种方式赢了,石头、纸、剪刀的其他组合给出正确的结果(据我所知)例如。纸对石头,剪刀对纸,我不知道为什么。
我附上了我的代码的图像,因为复制和粘贴它似乎会产生难看的段落。 code in pycharm
对于实际代码:
import random
d = {'rock': {'rock': 'tie','scissors': 'win','paper': 'lose'},'paper': {'paper': 'tie','rock': 'win','scissors': 'lose'},'scissors': {'scissors': 'tie','paper': 'win','rock': 'lose'}}
d_l = list(d)
def umbrella():
player_1_name = input('insert name')
player_2_name = 'npc'
player_1_and_npc_actions_and_check_winner(player_1_name,player_2_name)
def player_1_and_npc_actions_and_check_winner(x,y):
winner = 0
while winner == 0:
p1 = input('please choose a rock = 1,paper = 2,scissors = 3 ')
p1_n = int(p1)
p_c = d_l[p1_n - 1]
print(p_c)
npc_choice = random.choice(d_l)
print(npc_choice)
if p_c == npc_choice:
print('TIE')
winner += 0
return
elif p_c in d.get(npc_choice,'lose'):
print(f'{x} wins!')
elif npc_choice in d.get(p_c,'lose'):
print(f'{y} wins!')
return
umbrella()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)