用python续写猜数字游戏(加入循环)
1、先把上一篇文章里面的猜数字游戏的代码搬过来:# -*- coding: utf-8 -*- import randoma=random.randint(1,100)n=input('请输入数字')if n.isdigit(): n=int(n) if n==a: print('猜对了') elif n>a: print('大了') else: print('小了') else: print('你输入的不是整数')这里面有两个嵌套的if语句。此时,猜一次,就需要重新运行。而每次运行,就可能得到另一个数字a。
2、写一个while循环,这个游戏就可以一直玩下去了:# -*- coding: utf-8 -*- import rand泠贾高框oma=random.randint(1,100)while True: n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') elif n>a: print('大了') else: print('小了') else: print('你输入的不是整数')注意,if语句整体缩进一下。现在,这个游戏可以连续的进行了。
3、猜数字游戏,可不是胡乱猜测,里面还是有一点小窍门的,看下图,用三段论猜数字。
4、但是,我们发现,就算我们猜对了,电脑还是需要我们继续猜,这是什么原因呢?原来,这就是所谓的“思循环”,电脑会一直循环下去,因为我们没有写出退出循环的指令。我们需要在猜对了的时候,加一个break指令。看下图,猜对了,就会退出本轮游戏。
5、上面采用的是while埂黉餐嚣循环,而for循环也可以写这个游戏:# -*- coding: utf-8 -*- import randoma=random.randint(1,100)for i in range(1,10): n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') break elif n>a: print('大了,再小点') else: print('小了,再大点') else: print('你输入的不是整数') i+=19次机会,应该绰绰有余了。
6、如果只有两次机会,猜到的概率就很低了:# -*- coding: utf-8 -*- import randoma=random.randint(1,100)for i in range(1,3): n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') break elif n>a: print('大了,再小点') else: print('小了,再大点') else: print('你输入的不是整数') i+=1