Python如何判断输入的字符串是否是int或者float或者字符

1.题目要求:
在上一次猜游戏实验题目的基础上,完善程序,实现如下的功能:
系统自动生成 1-100 以内的随机整数,让用户通过键盘输入所猜的数,如果
大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”,
如此循环,直到猜中该数,显示“预测 N 次,你猜中了!”,其中 N 是用户输入
的数字次数。如果用户输入的不是整数,而是小数,则提示用户“输入错误,必
须输入整数!”,并让用户重新输入。如果用户输入的不是数字,则给出出错提示
“输入格式错误,结束程程序

代码如下:

from random import *

num = input("Please input num:")

def isnum(a):
    try:
        s=float(num)
        return True
    except ValueError as e:
        return False

def isInt(a):
    if(isnum(a) == True):#先判断是不是数字,如果是的话判断是不是int
        if(type(eval(a)) != int):
            print("输入错误,必须输入整数!")
            return float
        else:
            return int
    else:
        return False

Flag = randint(0,100)
N=1
while(1):
    if(isInt(num) == float):
        num = input('Please input num:')
        continue
    elif(isInt(num) == int):
        num=int(num)#转成数字
        if(num>Flag):
            print('遗憾!太大了')
            N+=1
            num = input('Please input num:')
        elif(num<Flag):
            print('遗憾!太小了')
            N+=1
            num = input('Please input num:')
        else:
            print('预测{0}次,你猜中了!'.format(N))
            break
    else:
        print("输入格式错误,结束程程序")
        break

在平时经常要对PYTHON的变量类型进行判断可用以下的办法:

#!/usr/bin/env python
a = 1
b = [1,2,3,4]
c = (1,2,3,4)
d = {‘a‘:1,‘b‘:2,‘c‘:3}
e = "abc"
if isinstance(a,int):
    print "a is int"
else:
    print "a is not int"
if isinstance(b,list):
    print "b is list"
else:
    print "b is not list"
if isinstance(c,tuple):
    print "c is tuple"
else:
    print "c is not tuple"
if isinstance(d,dict):
    print "d is dict"
else:
    print "d is not dict"
if isinstance(e,str):
    print "d is str"
else:
    print "d is not str"
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值