猫史档案馆


【Python作品分享】石头 剪刀 布【作业帖】

用户:Da_huangDa_huang查看:0 回复:1 评论:0 创建时间:2021-04-24T22:17:05


【作品展示】

center_image

 

【作品介绍】

课上的石头剪刀布 我优化了 ’一‘ 下

 

【作品源代码】

import turtle
import random

s = turtle.Screen()
m = turtle.Pen()
m.hideturtle()

z = 1
while z>0:
    pj = 0
    cs = 0
    ps = 0
    n = 0
    q = int(turtle.textinput("选择场数最大不超过50", "输入场数"))
    if q>=1 and q<=50:
        m.penup()
        m.goto((-450), 0)
        m.pendown()
        while (n < q):
            # 玩家出拳
            p = int(turtle.textinput('剪刀=1,石头=2,布=3', '请输入出的拳'))
            if (1 <= p and p <= 3):
                if (p == 1):
                    print('玩家出 剪刀')
                elif (p == 2):
                    print('玩家出 石头')
                else:
                    print('玩家出 布')
                # 电脑出拳
                c = random.randint(1, 3)
                if (c == 1):
                    print('电脑出 剪刀')
                elif (c == 2):
                    print('电脑数 石头')
                else:
                    print('电脑出 布')
                # 判断输赢
                if (p == c):
                    print('平局')
                    pj = (pj + 1)
                    m.pencolor('gray')
                    m.dot(20)
                    m.penup()
                    m.forward(25)
                    m.pendown()
                else:
                    if (p == 1 and c == 3):
                        print('玩家胜')
                        ps = (ps + 1)
                        m.pencolor('lightgreen')
                        m.dot(20)
                        m.penup()
                        m.forward(25)
                        m.pendown()
                    elif (p == 2 and c == 1):
                        print('玩家胜')
                        ps = (ps + 1)
                        m.pencolor('lightgreen')
                        m.dot(20)
                        m.penup()
                        m.forward(25)
                        m.pendown()
                    elif (p == 3 and c == 2):
                        print('玩家胜')
                        ps = (ps + 1)
                        m.pencolor('lightgreen')
                        m.dot(20)
                        m.penup()
                        m.forward(25)
                        m.pendown()
                    else:
                        if (p == 3 and c == 1):
                            print('电脑胜')
                            cs = (cs + 1)
                            m.pencolor('red')
                            m.dot(20)
                            m.penup()
                            m.forward(25)
                            m.pendown()
                        elif (p == 1 and c == 2):
                            print('电脑胜')
                            cs = (cs + 1)
                            m.pencolor('red')
                            m.dot(20)
                            m.penup()
                            m.forward(25)
                            m.pendown()
                        elif (p == 2 and c == 3):
                            print('电脑胜')
                            cs = (cs + 1)
                            m.pencolor('red')
                            m.dot(20)
                            m.penup()
                            m.forward(25)
                            m.pendown()
                        else:
                           pass
                n = (n + 1)
            else:
                print('输入数字不正确,请重新输入...')
            print('=================')
        print('丨 玩家共胜利', ps, '场 丨')
        print('丨 电脑共胜利', cs, '场 丨')
        print('丨 一共平局', pj, '场   丨')
        print('=================')
        if (ps == cs):
            print('最后结果为 平局!!')
            m.pencolor('gray')
            m.penup()
            m.goto(0, 0)
            m.pendown()
            m.dot(2000)
        elif (ps > cs):
            print('最后结果为 玩家胜!!')
            m.pencolor('lightgreen')
            m.penup()
            m.goto(0, 0)
            m.pendown()
            m.dot(2000)
        else:
            print('最后结果为 电脑胜!!')
            m.pencolor('red')
            m.penup()
            m.goto(0, 0)
            m.pendown()
            m.dot(2000)
        x = 0
        while x<1:
            z = int(turtle.textinput("再来一次","再来输入1 停下输入0"))
            if z==1:
                print("再来一遍")
                x = 1
            elif z==0:
                print("停止")
                x = 1
            else:
                print("输入数字不正确,请重新输入...")
        m.clear()
    else:
        print("输入数字不符合程序要求,请重新输入...")

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
NeutrophilsNotNeutrophilsNot

nb

点赞0


评论