You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化石头剪刀布Python代码,使其兼容大小写输入?

解决石头剪刀布游戏大小写输入兼容问题

最简便的方式是统一用户输入与预设选项的大小写格式,无需修改后续的胜负判断逻辑,仅需对用户输入做简单格式转换即可。

核心方法:用capitalize()统一格式

Python字符串的capitalize()方法会自动将输入的首字母转为大写、其余字母转为小写,刚好匹配你代码里options列表的格式(比如输入rock会变成Rock,PAPER会变成Paper)。只需修改获取用户输入的那一行代码:

yourMove = input("Rock, paper, or scissors? \n ---------- \n").capitalize()

修改后的完整代码

import random
import time

options = ["Rock", "Paper", "Scissors"]

# 对用户输入做首字母大写转换,兼容任意大小写输入
yourMove = input("Rock, paper, or scissors? \n ---------- \n").capitalize()
computerChoice = random.choice(options)

print("Rock...")
time.sleep(1)
print("Paper...")
time.sleep(1)
print("Scissors...")
time.sleep(1)
print("Shoot! \n")
time.sleep(1)

print("You chose " + yourMove)
print("The computer chose " + computerChoice + "\n")

if yourMove == "Rock" and computerChoice == "Paper":
    print("You lose!")
elif yourMove == "Paper" and computerChoice == "Rock":
    print("You win!")

if yourMove == "Scissors" and computerChoice == "Rock":
    print("You lose!")
elif yourMove == "Rock" and computerChoice == "Scissors":
    print("You win!")

if yourMove == "Paper" and computerChoice == "Scissors":
    print("You lose!")
elif yourMove == "Scissors" and computerChoice == "Paper":
    print("You win!")

if yourMove == computerChoice:
    print("It's a draw!")

可选拓展思路

如果想支持更灵活的输入(比如仅输入首字母R/r、P/p),可以在转换后额外判断首字母,但如果只是解决大小写兼容问题,上面的方法已经足够简洁高效。

内容的提问来源于stack exchange,提问作者InsertNameHere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:45:58