小小马fly 发表于 2019-3-18 16:15:56

如何判断input的内容是数字还是字符串

import random
secret=random.randint(1,10)
print("。。。。。。。。。。我爱鱼C工作室。。。。。。。。。。")
n=5
while(n>0):
    temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")      
   
    if isinstance(temp , int):
      guess = int(temp)
      if guess == secret:
            print("卧槽,你是小甲鱼心中的蛔虫么")
            print("哼,猜中了也诶有奖励!")
            n=0
      else:
            n = n-1
            if guess > secret:
                print('哥,大了,大了!再给你一次机会!')
            else:
                print('嘿,小了,小了!再给你一次机会!')
    else :
      print('数字数字,要输入数字啊!')
else:

    print("game over!")


我找到错误原因了,input 返回的类型好像只能是字符串,那我该如何区分‘123’和‘我不是数字’呢?

冬雪雪冬 发表于 2019-3-18 16:20:42

if temp.isdigit():

BngThea 发表于 2019-3-18 16:21:22

可以用字符串的方法
tmp = input()
if tmp.isdigit(): # 如果是数字字符串
    # do something

小小马fly 发表于 2019-3-18 16:31:52

BngThea 发表于 2019-3-18 16:21
可以用字符串的方法
tmp = input()
if tmp.isdigit(): # 如果是数字字符串


谢谢谢谢!

小小马fly 发表于 2019-3-18 16:32:49

冬雪雪冬 发表于 2019-3-18 16:20
if temp.isdigit():

谢谢!
页: [1]
查看完整版本: 如何判断input的内容是数字还是字符串