Pra*_*thi 3 loops if-statement python-2.7
我刚刚开始学习python 2.7.1,并且我为Cows and Bulls游戏编写了一个代码,你需要通过不断重新输入4位数来猜测一个四位数,直到得到正确的数字.但由于某种原因,代码只能持续3个循环.这是代码: -
number=raw_input("Enter the 4 digit number to be guessed:")
a=map(int,str(number))
def Guess():
yournumber=raw_input("Enter your number now:")
b=map(int,str(yournumber))
i=j=k=0
while i<=3:
if a[i]==b[i]:
j+=1
elif b[i] in a:
k+=1
i+=1
print str(j),"Bulls and "+str(k),"Cows"
return yournumber
Guess()
c=Guess()
if c==number:
print "BINGO! You have guessed the number!"
else:
Guess()
Run Code Online (Sandbox Code Playgroud)
实际上没有循环要求用户输入.
在您的实现中,正好有三个函数调用Guess().
你的实施:
Guess() # first call
c=Guess() # second call
if c==number:
print "BINGO! You have guessed the number!"
else:
Guess() # third call
#end
Run Code Online (Sandbox Code Playgroud)
相反,你应该在用户弄错时循环.请尝试此块:
c=""
while c != number:
c = Guess()
print "BINGO! You have guessed the number!"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |