【发布时间】:2013-03-04 21:47:07
【问题描述】:
integer = input("Number: ")
rslt = int(integer)+2
print('2 + ' + integer + ' = ' + rslt)
double = input("Point Number: ")
print('2.5 + ' +double+' = ' +(float(double)+2.5))
给我
Traceback (most recent call last):
File "C:\...", line 13, in <module>
print('2 + ' + integer + ' = ' + rslt)
TypeError: Can't convert 'int' object to str implicitly
我对编程还很陌生,到目前为止,我的背景大多只是 C# 的基础知识。我想尝试通过在 Python 上完成所有 C# 学校项目来学习 Python。我习惯了 C# 的简单语法,看起来像这样:
int integer = Convert.ToInt32(Console.ReadLine())
或
double double = Convert.ToDouble(Console.ReadLine())
它接受用户输入的字符串并将其转换为我指定的内容。
我想我读过 py2.x 有一个名为 raw_input 的命令,在这方面比 py3.x 的输入命令好一点。
我试图找到一种与我在 C# 中使用的 Python 中使用的格式相似的格式,但事实证明,在所有这些谷歌搜索之后,仅仅找到一种将用户输入字符串转换为整数的方法就非常困难并尝试了所有我能想到的(以及我在谷歌上找到的)我决定是时候问了。你能帮忙吗?
【问题讨论】:
-
他在问题标题中说 python 3
-
为什么我应该使用字符串格式而不是逗号?
-
在逗号上使用格式字符串的主要原因是所见即所得(您可以从
'2 + {} = {}'立即知道您的输出将是什么样子)并且即使对于简单的情况也可以进行更多控制,您必须处理您从逗号获得的额外空格)。不太重要的原因(至少对您而言)是格式化更容易与动态值一起使用,更容易国际化,并且在 Python 2.x 和 3.x 之间更容易移植。 (如果你写print(1,2),你在3.x中得到1 2,但在2.x中得到(1, 2)。)
标签: python string python-3.x integer double