linnnb 发表于 2020-7-19 14:28:22

猜数字游戏

用户输入的不是整数和用户输入超过或小于了范围,比如1~10。我要怎么实现提醒用户

zltzlt 发表于 2020-7-19 14:31:25

当数字小于 1 或大于 10 时,打印 “输入错误!”

建议把代码发上来,方便大家改

Hello. 发表于 2020-7-19 14:31:58

本帖最后由 Hello. 于 2020-7-19 14:37 编辑

if guess > 10:
      print('哥,大了,大了~~~~')
if guess < 1:
      print('哥,小了,小了~~~~')
if not guess.isdigit():
      print('哥,好好的,输入数字!')

Twilight6 发表于 2020-7-19 14:33:56


这样即可:

user = input('请输入一个整数:')

while not user.isdigit() or not ( 10 >= int(user) > 0):

    user = input('抱歉!您输入的不是整数或输入的数字不在1~10范围内,请重新输入:')

print(user,'是整数字符串!')

Hello. 发表于 2020-7-19 14:40:59

这个问题你已经问了三次了!

linnnb 发表于 2020-7-19 14:54:37

Twilight6 发表于 2020-7-19 14:33
这样即可:

while (not temp.isdigit()):
         temp = input("请输入一个整数 :")
         guess = int(temp)
while (guess>10) or (guess<0):
      temp = input("1~10哦:")
      guess = int(temp)
如果在第二个循环体,调皮的用户又不输入整数 怎么办

Twilight6 发表于 2020-7-19 14:57:39

linnnb 发表于 2020-7-19 14:54
while (not temp.isdigit()):
         temp = input("请输入一个整数 :")
         guess = int(temp) ...


改成我这样即可:

user = input('请输入一个整数:')

while not user.isdigit() or not ( 10 >= int(user) > 0):
    if not user.isdigit():
      user = input('抱歉!您输入的不是整数哦,请重新输入:')
    else:
      user = input('抱歉!您输入的数字不在1~10范围内哦,请重新输入:')

print(user,'成功打印')

xiyi2 发表于 2020-7-19 14:59:41

    if guess==8:
      print("猜中啦~")
    else:
      if guess<8:
            print("小啦")
      else:
            print("大啦")

linnnb 发表于 2020-7-19 15:00:39

Twilight6 发表于 2020-7-19 14:33
这样即可:

不需要guess = int(user)吗。下面要怎么判断大小

Twilight6 发表于 2020-7-19 15:11:16

linnnb 发表于 2020-7-19 15:00
不需要guess = int(user)吗。下面要怎么判断大小


你想要的是这种效果吧?

from random import randint

true_num = randint(1,10)
guess = 0
print('请输入一个范围为 1~10 的整数:',end='')
while guess != true_num:
    user = input()
    while not user.isdigit() or not ( 10 >= int(user) > 0):
      if not user.isdigit():
            user = input('抱歉!您输入的不是整数哦,请重新输入:')
      else:
            user = input('抱歉!您输入的数字不在1~10范围内哦,请重新输入:')
    guess = int(user)
    if guess < true_num:
      print('小了小了!请重新输入:',end='')
    elif guess > true_num:
      print('大了大了,请重新输入:',end='')
    else:
      print('恭喜答对啦~!正确答案是:',true_num)

linnnb 发表于 2020-7-20 18:10:45

Twilight6 发表于 2020-7-19 15:11
你想要的是这种效果吧?

对的
页: [1]
查看完整版本: 猜数字游戏