Task 03
练习题:猜数字游戏
思路:
- 首先让系统随机生成一个数字需要导入并使用random,设置上下限可以使用uniform,需要注意的是在后面的比较中用的变量的整型值,而在随机生成赋值后x还是一个字符型,所以需要将他强制转换为整型。
- 需要在每次猜测之前提示是第几次猜所以需要用到一个计数变量count。
- 接下来设置循环体,因为打算在下面用continue和break来跳过和跳出循环所以条件语句直接用1。
- 用input输入时,因为要求输入除整型的其他型时需要报错,错误类型为 ValueError所以在input是设置成整型输入,并用try-except拦截错误输出提示信息,而且跳过此次循环不增加猜测次数。
- 最后用if-elif判断是否猜对,用break跳出循环即可。
#导入random,随机生成数字,并把它转换成int型
import random
x=random.uniform(0,100)
x=int(x)
#设置猜测次数的计数变量count并初始化为1
count=1
#输出猜数字的提示信息
print('Guess a number range from 0 to 100')
#设置循环猜数的模式
while 1:
#提示输入数字并转换为int型
try:
num=int(input('times you have guessed: %d'%count))
#如果输入其他型则会有ValueError的错误,用except拦截住并提示无效输入信息
except ValueError:
print('Invalid Input')
#用continue跳过本次循环,不增加次数
continue
#用if-elif语句判断数字是否猜对
if num==x:
print('Congratulate you have got the number:%d'%num)
break
elif num<x:
print('Too small')
count=count+1
elif num>x:
print('Too large')
count=count+1