Python while循环参数不考虑
我刚刚开始学习用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
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的问题。”凯文已经在评论中指出了这个问题。