蒙山VS浪人 2022-11-17 14:48 采纳率: 75%
浏览 14
已结题

我也不知道有什么问题,反正编辑器说21和46行代码有错误


import random
your_num={1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0}
my_num={1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0}
print('这是一款卡牌游戏\n游戏规则:每轮游戏开始,你将会获得12张随机的数字卡牌,到你出牌时,只能出一张比对方数字大的牌,否则就算失败!!!')
for i in range(12):
    b=random.randint(1,10)
    your_num[b]+=1
for i in range(12):
    b=random.randint(1,10)
    my_num[b]+=1
#print(your_num)
print('你的卡牌:'+str(my_num))
a=int(input('请输入你要出的卡牌:'))
if my_num[a] > 0:
    my_num[a]-=1
else:
    print('输入无效!!!')
b=1
def your1():
    while True:
        b+=1
        if b>a:
            if your_num[b] > 0:
                your_num[b]-=1
                print('对方出了数字为'+str(b)+'的卡牌')
                break
            else:
                continue
        elif b>10:
            print('你胜利了!!!')
            exit()
        else:
            continue
def my1():
    print('你的卡牌:'+str(my_num))
    a=input('请输入你要出的卡牌:')
    if a>b:
        if my_num[a] > 0:
            my_num[a]-=1
        else:
            print('输入无效!!!')
    else:
        print('你失败了!!!')
        exit()
while True:
    your1()
    my1()
  • 写回答

1条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-11-17 15:17
    关注

    yours()函数里的b没有定义,哪里来的?全局变量吗?如果是全局变量,就用global声明一下,如果不是就需要传参进来,具体要看你要实现的逻辑。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月21日
  • 已采纳回答 11月17日
  • 创建了问题 11月17日

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 eclipse连接sap后代码跑出来空白
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案