关于限制猜数字次数的程序
import randomsecret = random.randint (1,10)
print('游戏开始')
temp = input('请输入数字\n')
guess = int(temp)
i=0
while (guess != secret) and (i<3):
i+=1
if guess == secret:
print ('你猜对了')
else:
if guess < secret:
print('小了')
else:
print('大了')
if i < 3:
temp = input('请输入数字\n')
guess = int(temp)
else:
print('次数用完')
print ('游戏结束')
为什么只有 你猜对了不会显示
当 guess 不等于 secret 时才进入循环,也就是说能进入循环 guess 一定不等于 secret,而
if guess == secret:
print ('你猜对了')
这段代码被放在循环之内,在循环内 guess 不等于 secret,所以这个条件永远不可能成立。可以这样改,在循环外加一个 if 判断:
import random
secret = random.randint (1,10)
print('游戏开始')
temp = input('请输入数字\n')
guess = int(temp)
i=0
while (guess != secret) and (i<3):
i+=1
if guess == secret:
print ('你猜对了')
else:
if guess < secret:
print('小了')
else:
print('大了')
if i < 3:
temp = input('请输入数字\n')
guess = int(temp)
else:
print('次数用完')
if guess == secret:
print ('你猜对了')
print ('游戏结束') zltzlt 发表于 2019-11-11 19:08
当 guess 不等于 secret 时才进入循环,也就是说能进入循环 guess 一定不等于 secret,而
我明白了
受到你的启发 我把程序改进成
import random
secret = 9
print('游戏开始')
temp = input('请输入数字\n')
guess = int(temp)
i=0
while (guess != secret) or (i<3):
i+=1
if guess == secret:
print ('你猜对了')
i=3
else:
if guess < secret:
print('小了')
else:
print('大了')
if i < 3:
temp = input('请输入数字\n')
guess = int(temp)
else:
print('你猜错了')
print('次数用完')
break
print ('游戏结束')
这样子程序会多做无用计算吗
页:
[1]