首页 > 解决方案 > 为什么我运行代码时 elif 没有注册?简单的骰子游戏

问题描述

我正在做一个骰子游戏来练习。计算机 (ai) 对玩家掷骰子,然后将结果进行比较,以确定谁是赢家。然而,当两个结果相同时(例如,玩家掷出 4,ai 掷出 4),程序会说“你赢了!” 即使我为领带添加了 elif 声明。有什么帮助吗?


import random
import time

player = random.randint(1,6)
print("You rolled " + str(player))

ai = random.randint(1,6)
print("The computer rolls...")
time.sleep(2)
print("The computer has rolled a " + str(player))

if player > ai:
 print("You win")

elif player == ai:
 print("Tie game")

else: 
 print("You lose")

我已经尝试将 else 放在 elif 之前,但后来出现语法错误?

标签: pythonrandom

解决方案


您的比较代码是正确的,不正确的是您显示的分数是玩家分数的两倍。这使得玩家和 AI 看起来都具有相同的掷骰,但实际上它们可能不同。

ai = random.randint(1,6)
print("The computer rolls...")
time.sleep(2)
print("The computer has rolled a " + str(player)) # here

您应该显示 ai:

ai = random.randint(1,6)
print("The computer rolls...")
time.sleep(2)
print("The computer has rolled a " + str(ai))

推荐阅读