鱼C论坛

 找回密码
 立即注册
查看: 3588|回复: 8

[技术交流] 帮忙康康,刚学几天写的

[复制链接]
发表于 2020-3-2 09:10:05 | 显示全部楼层

enmmmm,这个代码为啥我运行不了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-3 14:51:28 | 显示全部楼层
840613937 发表于 2020-3-2 10:38
还可以再优化一下,使用random模块,这也是我刚开始学的时候写的

import time
import random

# 1为剪刀,2为石头,3为布
# a是电脑 b是玩家

def qaq(a, b):
    print ("\n我方剩余生命:" + str(b))
    print ("敌方剩余生命" + str(a))
    time.sleep(1.5)
   
def aqa(ai, my):
    count = 0
    for n in (ai, my):
        count += 1
        for i in range(n):
            if i == 1:
                num = '剪刀'
            elif i == 2:
                num = '石头'
            else:
                num = '布'
            
        if count == 1:
            print ('\n----------------------------------')
            print('\n电脑出了:' + num)
        else:
            print('你出了:' + num + '\n')
   
def compare(ai, my, a, b):
   
    a_temp = a
    b_temp = b
    aqa(ai, my)
   
    if ai == my:
        print('平局')
    elif (ai + my) < 4: # 和小于4 且两数不相等 小的输
        if ai < my:
            a -= 1
        else:
            b -= 1
    elif (ai + my) > 4: # 和大于4 且两数不相等 小的输
        if ai < my:
            a -= 1
        else:
            b -= 1
    else: # 和等于4 且两数不相等 那么谁大谁输
        if ai > my:
            a -= 1
        else:
            b -= 1
   
    if a_temp!=a and b_temp==b:
        print('你赢了!')
    elif a_temp==a and b_temp!=b:
        print('你输了!')
   
    qaq(a, b)
    return a, b
   
def pos(a, b):
    if b == 0:
        print ("\n蔡蔡蔡蔡蔡,\n和电脑玩剪刀石头布都能输,你还能干嘛???\n L L L L L ")
    else:
        print ("\n怎么?赢电脑你还想骄傲,蔡!!!\n L L L L L")

    time.sleep(0.5)
    i = input("有胆子再来一把!!!\n再来一把:1 不来了:2 :")
    while True:
        if i == '1':
            print ("亏你还有胆子" + name + "好,就再来一把")
        elif i== '2':
            print ("蔡")
        else:
            i = input('请输入正确的命令!\n再来一把:1 不来了:2 :')
            continue
        break
    return i
   
   


print("-------------------------由...制造-------------------------")
name = input("\n你好,请输入你的名字:")
while True:
    print ("这是你的名字吗:" + name)
    k = input("是请按1,不是请按2:")
    if k == '1':
        print ('\n' + name + " 欢迎你!")
        break
    elif k == '2':
        print ("\n不要手滑了")
        name = input('请输入你的名字:')
    else:
        print('\n请输入正确的命令~\n')
   

while True:
    a = 5
    b = 5
    c = input("\n是否开启自动打架\n开启:1  不开启:2\n")
    if c == '1' or c == '2':
        while True:
            if c == '2':
                while True:
                    put = input('\n请选择你要出的~\n1.剪刀 2.石头 3.布 :')
                    if put == '1' or put == '2' or put == '3':
                        break
                    else:
                        print('\n命令错误!')
            else:
                put = random.randint(1,3)
        
            a, b = compare(random.randint(1,3), int(put), a, b)

            if not (a and  b):
                print ('\n----------------------------------')
                break
        
    elif '2' != c != '1':
        print('\n请输入正确的命令!')
   
    if not (a and  b):
        if pos(a, b) == '2':
            break
   
print ("\n不玩了再见!!!")
input("按任意键退出游戏")

弄好了。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 19:27:25 | 显示全部楼层
840613937 发表于 2020-3-4 11:13
以后发代码记得在编辑器那里使用代码标签,不然太难看了

好的,上次忘了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-4 19:28:00 | 显示全部楼层
840613937 发表于 2020-3-4 11:11
额,你去试试random模块的choice()方法,这条命令可以直接简化这个小游戏的大部分代码

好的~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-7 03:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表