import random
secret = random.randint(1,20)
count = 1
print('---自己测试---')
temp = input('guess the number:')
guess = int(temp)
while guess != secret or count > 3:
if guess > secret:
print('too big')
else:
print('too small')
temp = input('try again:')
guess = int(temp)
count += 1
if guess == secret:
print('bingo')
print('game over')
扩展资料:
while循环的语法是:while(Boolean_expression) { //Statements }。
在执行时,如果布尔表达式的结果为真,则循环中的动作将被执行。这将继续下去,只要该表达式的结果为真。 在这里,while循环的关键点是循环可能不会永远运行。当表达式进行测试,结果为 false,循环体将被跳过,在while循环之后的第一个语句将被执行。
布尔表达式出现在循环的结尾,所以在循环中的语句执行前一次布尔测试。 如果布尔表达式为true,控制流跳回起来,并且在循环中的语句再次执行。这个过程反复进行,直到布尔表达式为 false。
重复运行?循环吗?可以用break跳出循环的。先给一个变量作为计数器,每运行一次就计数器就加一,当计数器等于3时,就用break跳出循环,结束运行。比如:
count=0 #计数器,初始值为0for i in range(100): #for循环
count+=1 #每循环一次count就自增1
if count<=3: #当计数器不大于3时,运行程序
print(i)
else: #否则就跳出循环
break
测试:
结果却是只运行了三次,只输出了三个数
上面的例子只是一个简单的例子,你可以改成复杂的代码。
补充:
break语句只能跳出一层循环,如果循环有多层,则每层循环都使用一次break或者直接用在想结束的地方使用return,return可以跳出多层循环,但是return必须和函数结合使用
为啥非要用and呢?
当然硬是要用也是可以做到的,比如:
import randomsecret = random.randint(1, 10)
print('开始游戏')
if guess(secret) and guess(secret) and guess(secret):
print('你失败了')
def guess(secret):
temp = input('猜一猜:')
x = int(temp)
if x == secret:
print('对了')
return False
elif x < secret:
print('小了')
else:
print('大了')
return True