我的代码的目的是让输出给出输入的数字和类型。例如:
如果输入是:10
输出应该是:10 is an integer
如果输入是:10.0
输出应该是:10.0 is a float
如果输入是:Ten
输出应该是:Ten is a string
我是编程新手,所以我还不知道任何“高级”功能。我也不应该使用它,因为这是一项开始学校作业。通常我应该能够用 if、elif 和 else 语句以及也许一些语句来解决这个问题int ()
, float ()
and type ()
功能。
x = input("Enter a number: ")
if type(int(x)) == int:
print( x, " is an integer")
elif type(float(x)) == float:
print( x, "is a float")
else:
print(x, "is a string")
但是,我一直陷入困境,因为输入始终以字符串形式给出。所以我认为只有当我把它放在 if、elif、else 语句中时,我才应该将其转换为整数/浮点数,然后逻辑上就会出现错误。有谁知道我该如何解决这个问题?
REMEMBER: Easy to ask forgiveness than to ask for permission (EAFP) https://stackoverflow.com/questions/12265451/ask-forgiveness-not-permission-explain
您可以使用try
/except
:
x = input("Enter a number: ")
try:
_ = float(x)
try:
_ = int(x)
print(f'{x} is integer')
except ValueError:
print(f'{x} is float')
except ValueError:
print(f'{x} is string')
样品运行:
x = input("Enter a number: ")
Enter a number: >? 10
10 is ineger
x = input("Enter a number: ")
Enter a number: >? 10.0
10.0 is float
x = input("Enter a number: ")
Enter a number: >? Ten
Ten is string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)