Python自动转换为文本

时间:2018-08-05 15:56:20

标签: python types

如果输入值类型为“ Int”,我想获取输出,然后打印此消息“请输入字符串而不是整数”,否则调用该函数。

似乎Python会自动将值类型设为“字符串”。但是我想得到像输入类型一样的消息。请检查以下代码。

def strlength (string):
    lengthstring = len(string)
    return (lengthstring)

string = input("enter the string: ")
if type(string) == int:
    print("please enter the string not integer")
else:
    print(strlength(string))

提前谢谢

2 个答案:

答案 0 :(得分:1)

  

Python似乎自动将值类型设为“字符串”

不。值类型字符串,直到将其转换为其他值为止。没有秘密的魔术可以从用户的输入中猜测可能的变量类型。

有一个helper function isdigit可用于检查字符串是否仅由数字组成。

response = input("enter the string: ")

if str.isdigit(response):
    ...

答案 1 :(得分:1)

这是您的解决方案

 def strlength (string):
    lengthstring = len(string)
    return (lengthstring)

string = input("enter the string: ")

try:
    string = int(string)
    print("please enter the string not integer")
except :
    print(strlength(string))