用python做一个简单的猜拳游戏

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

用python编写一个简单的猜拳游戏


一.简介

这是我用python编写的第一个程序,有一些局限,望大家批评指正。

二.代码

方法一代码如下:

you = int(input("请输入剪刀0,石头1,布2:"))
import random
cp = random.randint(0,2)##生成范围是0到2的随机数

if(you > 2 or you < 0):
    print("没有这种出法哦")##玩家不能输入0到2范围以外的数字
else:
 print("电脑出的是 %d\n " % cp)
 if(you == 0):
    if(cp ==  0):
        print("平局,请再出一次")
    elif(cp ==  1):
        print("你输了")
    else:
        print("你赢了")
 if(you == 1):
    if(cp == 1):
        print("平局,请再出一次")
    elif(cp == 2):
        print("你输了")
    else:
        print("你赢了")
 if(you == 2):
    if(cp == 2):
        print("平局,请再出一次")
    elif(cp == 0):
        print("你输了")
    else:
        print("你赢了")



 



总结一

优点:比较简洁,思路清晰
缺点:不够直观,不能直接说明电脑出的是什么,只能用数字代替
平局的时候必须重新运行游戏才能再来一次。

<font color=#999AAA 改进后代码如下:

you = int(input("请输入剪刀0,石头1,布2:"))
import random##引用随机库函数
cp = random.randint(0, 2)  ##生成范围是0到2的随机数
if(you > 2 or you < 0):
    print("没有这种出法哦")##玩家不能输入0到2范围以外的数字
else:
    cpc = 0
    if(cp == 0):
        cpc = "剪刀"
    elif(cp == 1):
        cpc = "石头"
    else:
        cpc = "布"
    print("电脑出的是%s\n " % cpc)
    if(you == 0):
        if(cp ==  0):
            print("平局,请再出一次")
        elif(cp ==  1):
            print("你输了")
        else:
             print("你赢了")
    if(you == 1):
        if(cp == 1):
            print("平局,请再出一次")
        elif(cp == 2):
            print("你输了")
        else:
            print("你赢了")
    if(you == 2):
        if(cp == 2):
            print("平局,请再出一次")
        elif(cp == 0):
             print("你输了")
        else:
             print("你赢了")

总结二

改进后把电脑出的数字转化为了汉字表达比较直观。编写程序的过程中尤其要注意if语句的次序。
把电脑生成的数字转化为汉字的if语句和判断输赢的if语句使并列的,如果不并列,将判断输赢的if语句弄到把电脑生成的数字转化为汉字的if语句里面去了就会导致程序执行到转化那里就直接停止了。
错误代码如下:

   you = int(input("请输入剪刀0,石头1,布2:"))
import random##引用随机库函数
cp = random.randint(0, 2)  ##生成范围是0到2的随机数
cpc = 0
if(cp == 0):
    cpc = "剪刀"
elif(cp == 1):
    cpc = "石头"
else:
    cpc = "布"
    
    if(you > 2 or you < 0):
        print("没有这种出法哦")##玩家不能输入0到2范围以外的数字
    else:
        print("电脑出的是%s\n " % cpc)
    if(you == 0):
        if(cp ==  0):
            print("平局,请再出一次")
        elif(cp ==  1):
            print("你输了")
        else:
             print("你赢了")
    if(you == 1):
        if(cp == 1):
            print("平局,请再出一次")
        elif(cp == 2):
            print("你输了")
        else:
            print("你赢了")
    if(you == 2):
        if(cp == 2):
            print("平局,请再出一次")
        elif(cp == 0):
             print("你输了")
        else:
             print("你赢了")

这样的话,程序在执行完转换中文操作后就直接结束了,没有达成我们想要的目的。

注意

在python中尤其要注意缩进,缩进的位置就相当于大括号,能决定代码之间的关系是并列的还是包含的。

猜你喜欢

转载自blog.csdn.net/weixin_45761932/article/details/108611766