编写一段python程序,随机生成一个0到100之间的整数number,接收用户的输入,处理用户输入逻辑如下:
这个问题我们必须用while循环来做,因为while循环更容易写出一个死循环,因为如果用户一直猜不中,那么程序就必须允许用户一直输入。
input函数接收用户在终端的输入,返回的是字符串,程序需要用这个数值与随机生成的答案进行比较,所以得使用int函数做转换,但如果用户输入的内容压根就不是数字,int函数是无法转换的,对于这种情况,需要使用字符串的isdigit方法来判断字符串里的内容是不是都是数字。
import random
number = random.randint(0, 100)
while True:
value = input("请输入一个0到100之间的数:")
if not value.isdigit():
continue
value = int(value)
if value > number:
print("你输入的数值比随机数大")
continue
elif value < number:
print("你输入的数值比随机数小")
continue
else:
print("你猜中了")
break
第一个continue是必须要有的,否则就会执行int(value),如果字符串内容不是数字就会引发异常,而第2和第3个continue可有可无,如果没有,程序也会进入下一次循环。
break终止while循环,程序结束。
import random
number = random.randint(0, 100)
while True:
value = input("请输入一个0到100之间的数:")
if not value.isdigit():
continue
value = int(value)
if value > number:
print("你输入的数值比随机数大")
continue
elif value < number:
print("你输入的数值比随机数小")
continue
else:
print("你猜中了")
break
QQ交流群: 211426309