如何在不显式转换的情况下将输入读取为整数?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (43)

我编写了一个程序,将一些简单的数字和字符串从用户那里读取后输出给用户。

为了输出和使用数学运算符,我不得不多次转换数据类型,以便以我想要的方式输出它。

这是我的代码:

print("What is your name?")
name = input()

print("What is your age?")
age = input()

print(type(age))
print("Check for type")

print("We will now add your " + age + " years to 50.")
age = int(age)
print(type(age))
print("Check for type")

finalAge = 50 + age
finalAge = str(finalAge)
age = str(age)
print("In 50 years " + name + " will be " + finalAge + " years old.")

这是输出:

What is your name?
Gavin
What is your age?
23
<class 'str'>
Check for beginning
We will now add your 23 years to 50.
<class 'int'>
Check for end
In 50 years Gavin will be 73 years old.

我正在寻找一个更好的方法,不需要转换类型多次之前,程序完成。欢迎任何建议!

提问于
用户回答回答于

最好不要进行重新分配,只在需要时进行投射。

print("What is your age?")
age = input()

print("We will now add your " + age + " years to 50.")

finalAge = 50 + int(age)
print("In 50 years " + name + " will be " + str(finalAge) + " years old.")

此外,根据数据类型的适合性来分配数据类型也是很好的做法。age最适合int:

print("What is your age?")
age = int(input())

print("We will now add your " + str(age) + " years to 50.")

finalAge = 50 + age
print("In 50 years " + name + " will be " + str(finalAge) + " years old.")
用户回答回答于

不能添加int值给str值或诸如此类的东西,尽管str值中有一个数字,因为它们的变量类型不同。但是你可以创建函数来简化项目,或者为相同的事情使用更少的代码,例如,可以使用以下内容:

def sum(a, b):
    return str(int(a)+int(b));

这是一个函数,它返回2的和值作为字符串,可以根据自己的需要创建许多自定义函数,可以通过使用函数

扫码关注云+社区

领取腾讯云代金券