为什么少一个
import randomsecret= random.randint(1,30)
print('这是一个小游戏')
temp=input ('猜猜我想的啥:')#输入一个数字;
guess=int(temp) #把这个整形变量赋值给guess;
while guess!=secret: #循环语句.判断为ture进入循环体;
if guess==secret:
print('你真棒')
else:
if guess<secret:
print('小了')
else:
print('大了')
temp=input ('猜错了,重新输入吧:')
guess=int(temp)
print('你真棒')
print('游戏结束')
#为什么多次猜中后,最后输出只有一个’你真棒‘,而不是想象中的两个’你真棒‘?
如果程序运行两次以上才猜中的话为什么不会输出两次‘你真棒’? print('你真棒')
print('游戏结束')
缩进 你的while循环大前提是guess不等于secret,也就是说你里面的if guess ==secret不会执行。
当你猜中数字,直接执行的尾部的print语句,没有执行while里面的if语句。 如果你的guess一来就等于secret,自然就不会进入到while循环中,直接就运行末尾的print了,所以只要你输入对了,就只会出现一次‘你真棒’。 本帖最后由 吃猪讲狗 于 2019-2-15 13:56 编辑
import random
secret = random.randint(1, 30)
temp = input("猜一猜: ")
guess = int(temp)
if guess==secret:
print('你真棒')
while guess!=secret:
if guess<secret:
print('小了')
else:
print('大了')
temp=input ('猜错了,重新输入吧:')
guess=int(temp)
if guess==secret:
print('你真棒')
break
print('你真棒')
print('游戏结束') heidern0612 发表于 2019-2-15 08:00
你的while循环大前提是guess不等于secret,也就是说你里面的if guess ==secret不会执行。
当你猜中数字 ...
非常感谢,明白了
页:
[1]