python - 为什么我运行代码时 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 之前,但后来出现语法错误?
解决方案
您的比较代码是正确的,不正确的是您显示的分数是玩家分数的两倍。这使得玩家和 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))
推荐阅读
- tensorflow.js - 开始使用 TensorFlow JS 模型和培训。太阳能发电量预测
- python - 使用 Python 3.7,如何删除 .txt 文件中具有相同开头的行?
- excel - 有没有办法清除表格(listObject)内容并将其调整为一列?
- python - 添加手动拆分功能以验证 xgboost 功能
- linux - 在 Linux RHEL 中实现禁止密码
- model-view-controller - 我应该如何在 MVC 中制作类图?
- android - 为什么我使用数据有效负载 JSON FCM。在颤动中获得通知不起作用?
- api - 仅通过 IIS 超时调用 Msgraph
- apache-kafka - Kafka在提交偏移之前设置消费者偏移
- node.js - 没有使用 mongoose 6 定义的 DEFAULT 的 AuthProvider