为什么input()总是返回一个字符串?

时间:2017-04-14 17:04:58

标签: python python-3.x

这是我的代码:

age = input("How old are you?: ")
print (age)
print (type(age))

结果:

  

你多大了?:35
  35个
  class' str' << ---这是问题!

但是,如果我使用..

age = int(input("How old are you?: "))
print (age) 
print (type(age))

并输入" Alex"

  

你多大了?:亚历克斯   追溯(最近的呼叫最后):
  File" /Users/kanapatgreenigorn/Desktop/test.py" ;,第1行,在       age = int(输入("你多大了?:"))   ValueError:对于带有基数10的int()的无效文字:' alex'

4 个答案:

答案 0 :(得分:1)

如果你想让它返回字符串,那么我认为默认情况下这样做但是如果你想让它像数字或整数一样返回,那么你可以把int(在输入前面。你放入' alex'以及它出现错误的原因是因为' alex'是一个字符串。不是整数(这是int)

答案 1 :(得分:1)

字符串是输入的默认值。下面有两个选项可以更改它。

sample = input("Sample")
sample = int(sample)

sample = int(input("Sample")

答案 2 :(得分:0)

这是使它成为整数的一种方法。

age = int(input("How old are you?: ")

这使得无论答案写什么数字都将转换为整数。

答案 3 :(得分:-1)

#很简单,但很管用

x = input()

如果 type(x) 是 str: 尝试: x = 整数(x) 除了:类型错误