|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 默默佩佩 于 2020-7-2 12:29 编辑
- import random
- secret = random.randint(1,10)
- print('---------我爱鱼c工作室----------')
- temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
- guess = int(temp)
- while type(temp) != type(1):
- print('抱歉,输入不合法,',end='')
- temp = input('请输入一个整数:')
- while guess != secret:
- temp = input('哎呀,猜错了请重新输入:')
- guess = int(temp)
- if guess == secret:
- print('哇草,你是小甲鱼心里的蛔虫吗?')
- print('哼,猜中了也没有奖励')
- else :
- if guess > secret:
- print('哥,大了大了~~')
- else :
- print('嘿,小了!小了!!')
- print('游戏结束,不玩啦~~')
复制代码
本帖最后由 Twilight6 于 2020-7-2 12:45 编辑
你的代码错在:input 返回的是字符串,所以 type(temp) 一定为 str,而永远不可能为 int ,所以这个条件永远不会成立,照成你的死循环
你可以用字符串方法 str.isdigit() 来判断字符串内是不是全是数字,你在学几课下去就会涉及到字符串方法的~:
isdigit() : 如果字符串只包含数字则返回 True,否则返回 False。
正确代码:
- import random
- secret = random.randint(1,10)
- print('---------我爱鱼c工作室----------')
- temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
- while not temp.isdigit():
- print('抱歉,输入不合法,',end='')
- temp = input('请输入一个整数:')
- guess = int(temp)
- while guess != secret:
- temp = input('哎呀,猜错了请重新输入:')
- guess = int(temp)
- if guess == secret:
- print('哇草,你是小甲鱼心里的蛔虫吗?')
- print('哼,猜中了也没有奖励')
- else :
- if guess > secret:
- print('哥,大了大了~~')
- else :
- print('嘿,小了!小了!!')
- print('游戏结束,不玩啦~~')
复制代码
在你的基础上进行部分改进哈:
- import random
- secret = random.randint(1,10)
- guess = 0
- print('---------我爱鱼c工作室----------')
- print("不妨猜一下小甲鱼现在心里想的是哪个数字:",end='') # end 参数是 print 的默认参数,默认值是 \n 换行符 我们这里重新将end 赋值,让 print 函数不换行~
- while guess != secret:
- temp = input()
- while not temp.isdigit():
- print('抱歉,输入不合法,', end='')
- temp = input('请输入一个整数:')
- guess = int(temp)
- if guess > secret:
- print('哥,大了大了~~')
- print('请重新输入:',end='')
- if guess < secret:
- print('嘿,小了小了~~')
- print('请重新输入:',end='')
- if guess == secret:
- print('哇草,你是小甲鱼心里的蛔虫吗?')
- print('哼,猜中了也没有奖励')
- print('游戏结束,不玩啦~~')
复制代码
|
|