Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python while循环参数不考虑_Python - Fatal编程技术网

Python while循环参数不考虑

Python while循环参数不考虑,python,Python,我刚刚开始学习用Python编程,我试着制作一个石头剪纸游戏来训练自己 在代码的末尾,while循环有一个问题 它不考虑我的计算机分数,所以如果我必须创建一个变量并添加一个参数,以不结束一个无限循环 user_choice = "Rock" user_score = 0 computer_score = 0 def fight(user_choice): if user_choice == "Rock": scissor = 1 rock = 2

我刚刚开始学习用Python编程,我试着制作一个石头剪纸游戏来训练自己

在代码的末尾,while循环有一个问题 它不考虑我的计算机分数,所以如果我必须创建一个变量并添加一个参数,以不结束一个无限循环

user_choice = "Rock"
user_score = 0
computer_score = 0


def fight(user_choice):
    if user_choice == "Rock":
        scissor = 1
        rock = 2
        paper = 3
        user_choice = rock
        computer_choice = randint(1, 3)
        print computer_choice
        if user_choice == computer_choice:
            print 'DRAW!'
        elif user_choice > computer_choice:
            print 'User win, consciousness can\'t be beaten, you win'
            global user_score
            user_score += 1
        elif user_choice < computer_choice:
            print 'Computer win, singularity has been reach'
            global computer_score
            computer_score += 1


i = 0
while (computer_score < 3 or i < 30):
    fight(user_choice)
    i = i + 1
user\u choice=“Rock”
用户分数=0
计算机评分=0
def战斗(用户选择):
如果用户_choice==“Rock”:
剪刀=1
岩石=2
纸张=3
用户选择=摇滚乐
计算机选项=randint(1,3)
打印计算机选择
如果用户选择==计算机选择:
打印“抽签!”
elif用户选择>计算机选择:
打印“用户赢,意识不能被打败,你赢”
全局用户分数
用户_分数+=1
elif用户选择<计算机选择:
打印“计算机获胜,奇点已到达”
全球计算机考试分数
计算机考试分数+=1
i=0
而(计算机评分<3或i<30):
战斗(用户选择)
i=i+1

可能存在randint(1,3)总是返回1的情况。所以电脑永远不会赢。这样,while循环将无限继续。

假设
计算机评分
为50,而
i
为15。考虑一下<代码> >计算机> 3或i<30 <代码>在这种情况下的计算。当你是“代码>打印< /代码>计算机获胜时,它并不是特定于它所选择的,你可以随意打印那些<代码>语句< /代码>。这是难以置信的不可能,并不是什么导致了OP的问题。”凯文已经在评论中指出了这个问题。