人机版石头剪刀布(注:打开密码“114514”)

#加载模块
import random
import time

#设置密码
password="114514"

#输入用户名
while True:
    name=input("请输入你的用户名:")
    if name=="jj":
        print("此用户名已被使用")
    else:
        break

#进入密码输入
while True:
    answer=input("请输入密码:")
    if password!=answer:
        print("密码错误")
    else:
        print("密码正确")
        print("游戏加载中……")
        time.sleep(2)
        print(f"尊敬的{name},游戏已进入")
        time.sleep(1)
        break

# 定义可能的选项
user_win=0
user_lose=0
user_pin=0
computer_win=0
choices= ("石头", "剪刀", "布")

# 获取用户的输入
def get_user_choice():
    while True:
        user_input = input("请输入你的选择(石头/剪刀/布):").strip().lower()
        if user_input in choices:
            return user_input
        print("无效的选择,请重新输入。请输入石头/剪刀/布。")

# 计算机随机选择
def get_computer_choice():
    return random.choice(choices)
    

# 判断胜负
def determine_winner(user_choice, computer_choice):
    global user_win, user_lose, user_pin, computer_win  
    result = ""
    if user_choice == computer_choice:
        user_pin += 1
        result = "平局"
    elif (user_choice == "石头" and computer_choice == "剪刀") or \
         (user_choice == "剪刀" and computer_choice == "布") or \
         (user_choice == "布" and computer_choice == "石头"):
        user_win += 1
        result = "你赢了!"
    else:
        user_lose += 1
        computer_win += 1
        result = "你输了!"
    return result, user_win, user_lose, user_pin, computer_win

         
    
# 游戏主循环
def play_game():
    while True:
        user_choice = get_user_choice()
        computer_choice = get_computer_choice()
        print(f"你的选择是:{user_choice},计算机的选择是:{computer_choice}")
        result, user_win, user_lose, user_pin, computer_win = determine_winner(user_choice, computer_choice)
        print(result)
        if "你" in result:
            final = input("是否继续(是/否)")
        if final == "否":
            print(f"你赢了{user_win}局,输了{user_lose}局,平了{user_pin}局")
            print(f"电脑赢了{computer_win}局")
            if computer_win<user_win:
                print("你赢了")
            elif computer_win==user_win:
                print("打平")
            else:
                print("你输了")
            print("正在退出……")
            time.sleep(2)
            print("已退出")
            break

# 开始游戏
play_game()

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值