如果语句 get 被跳过,而只有 else 语句被打印。我如何将字符串或 int 存储在单个变量中?
If statement get's a skipped, while only else statement get's printed .And how do I store a string or int in a single variable?
我正在尝试做一个练习,要求我们解决以下问题
Exercise problem image
我尝试这样做,但没有使用与练习中所示完全相同的关键字。
这是我的代码
def StringLength(length_of_String):
return len(text)
text = input("length_of_String :")
if type(text) == int:
print ("python doesn't show length of integers")
else :
print (len(text))
但我遇到的问题是,如果我添加任何文本,比如 "joker"。
它会将我的长度输出为“5”,这是正确的。
但是当我键入任何整数或浮点数时,例如“101”,它仍将其长度打印为“3”,因为它正在将其作为字符串读取。
所以我怎么添加变量,当我在其中输入整数或字符串时,它应该将其识别为字符串或整数
some_variable = input()
默认会给你字符串。您可能需要修改您的代码:
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
def StringLength():
text = input('Enter:')
if is_number(text):
print ("python doesn't show length of integers")
else :
return(len(text))
#StringLength() #Remove the '#' at the start of the line to test the function
编辑:我添加了一个函数来测试输入的值是否为数字
我正在尝试做一个练习,要求我们解决以下问题 Exercise problem image 我尝试这样做,但没有使用与练习中所示完全相同的关键字。
这是我的代码
def StringLength(length_of_String):
return len(text)
text = input("length_of_String :")
if type(text) == int:
print ("python doesn't show length of integers")
else :
print (len(text))
但我遇到的问题是,如果我添加任何文本,比如 "joker"。 它会将我的长度输出为“5”,这是正确的。
但是当我键入任何整数或浮点数时,例如“101”,它仍将其长度打印为“3”,因为它正在将其作为字符串读取。
所以我怎么添加变量,当我在其中输入整数或字符串时,它应该将其识别为字符串或整数
some_variable = input()
默认会给你字符串。您可能需要修改您的代码:
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
def StringLength():
text = input('Enter:')
if is_number(text):
print ("python doesn't show length of integers")
else :
return(len(text))
#StringLength() #Remove the '#' at the start of the line to test the function
编辑:我添加了一个函数来测试输入的值是否为数字