• Python之人机猜拳游戏


    说明: 

    人机猜拳游戏模拟用户和计算机连续猜拳,一方先赢2次则取得胜利(3局2胜)。

    由于需要进行多次猜拳,须使用循环结构来实现,即利用循环语句让程序执行某些重复操作,然后利用跳转语句结束循环

     分析:

    可先定义两个变量分别用于统计用户和计算机赢的次数,并赋初始值为0.然后用while循环,判断条件为true进行死循环,在循环中进行以下操作:
    1、使用input()函数输入一个整数(模拟用户出拳),并判断输入的整数是否处于1-3,如果不是,输出错误提示,并使用continue语句结束本次循环。

    2、使用randint()函数生成一个1-3的随机整数(模拟计算机出拳)

    3、使用print()函数输出本次用户和计算机的出拳

    4、使用关系运算符(==)和逻辑运算符(and和or)判断输赢,如果用户赢,则用户赢的次数加1,并输出赢的次数。然后判断用户赢的次数是否等于2,如果是,则输出用户获得胜利的提示,并跳出循环。计算机同上。如果平局,则输出平局提示。

    1. '''
    2. 人机猜拳游戏模拟用户和计算机连续猜拳,一方先赢2次则取得胜利(3局2胜)。
    3. 由于需要进行多次猜拳,须使用循环结构来实现,即利用循环语句让程序执行某些重复操作,
    4. 然后利用跳转语句结束循环。
    5. '''
    6. import random # 导入random模块
    7. user_count=0 # 创建变量表示用户赢的次数,赋初始值为0
    8. computer_count=0 # 创建变量表示计算机赢的次数,赋初始值为0
    9. while True: #循环
    10. # 输出猜拳提示
    11. print('请选择要出的招式(输入数字):\n1、石头\n2、剪刀\n3、布')
    12. user=int(input()) # 输入一个整数
    13. if user<1 or user>3: # 如果整数小于1大于3
    14. print('输入错误,请重新输入!') # 输出错误提示
    15. continue # 结束本次循环
    16. computer=random.randint(1,3) # 生成一个1-3的随机整数
    17. print('用户出:',user) #输出用户招式
    18. print('计算机出:',computer) #输出计算机招式
    19. #如果用户赢
    20. if(user==1 and computer==2)or(user==2 and computer==3)or(user==3 and computer==1):
    21. user_count+=1 #用户赢的次数加1
    22. print(f'用户赢{user_count}次') #输出用户赢的次数
    23. if user_count==2: #如果已经赢了3次
    24. print('用户先赢2次,恭喜用户取得胜利!') #输出用户赢的提示
    25. break #跳出循环
    26. #如果计算机赢
    27. elif(computer==1 and user ==2)or(computer==2 and user==3)or(computer==3 and user==1):
    28. computer_count+=1 #计算机赢的次数加1
    29. print(f'计算机赢{computer_count}次') #输出计算机赢的次数
    30. if computer_count==2: #如果已经赢了2次
    31. print('计算机先赢2次,恭喜计算机取得胜利!') #输出计算机赢的提示
    32. break #跳出循环
    33. else: #除了两方赢的可能,就是平局
    34. print('平局')

    执行结果:

    请选择要出的招式(输入数字):
    1、石头
    2、剪刀
    3、布
    1
    用户出: 1
    计算机出: 2
    用户赢1次
    请选择要出的招式(输入数字):
    1、石头
    2、剪刀
    3、布
    1
    用户出: 1
    计算机出: 3
    计算机赢1次
    请选择要出的招式(输入数字):
    1、石头
    2、剪刀
    3、布
    1
    用户出: 1
    计算机出: 1
    平局
    请选择要出的招式(输入数字):
    1、石头
    2、剪刀
    3、布
    1
    用户出: 1
    计算机出: 3
    计算机赢2次
    计算机先赢2次,恭喜计算机取得胜利!

  • 相关阅读:
    STM32:OLED屏幕开发
    git---更新gitignore文件,使之生效
    【Web前端大作业】基于HTML+CSS+JavaScript制作西北大学新闻网站(7页)
    java培训技术-返回JSON
    干货分享:谷歌主动搜索开发客户的万能公式
    OpenSSH
    asp.net 学校资源信息管理系统VS开发sqlserver数据库web结构c#编程计算机网页项目
    C++ 三大特性之继承(二)重点:菱形虚拟继承
    怎样判断一个程序化交易策略失效还是正常失误?
    外国电影字幕翻译,怎么把英文字幕翻译成中文字幕?
  • 原文地址:https://blog.csdn.net/qq_62731133/article/details/127032039