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的input命令工作得更好。
我试图找到一个类似的格式,就像我在C#中习惯在Python中使用的格式一样,但事实证明,要找到一种方法将用户输入字符串转换成整数是非常困难的,在所有这些搜索之后,我想尽一切办法(我在google上找到的)决定是时候问了。你能帮忙吗?
在Python 3.x-
input
中等同于Python 2.x的raw_input
。。。您应该对此使用字符串格式-并执行一些错误检查:
另一个看起来有点复杂的选项是允许解释器对值进行最佳猜测,然后提出一些不是
int
或float
的内容:如果你想让复数、列表或元组作为输入,比如。。。
问题不在于将输入转换为整数。问题是,当您编写
' = ' + rslt
时,您试图将一个整数添加到字符串中,但您不能这样做。你有几个选择。您可以将
integer
和rslt
转换回字符串,将它们添加到字符串的其余部分:或者你可以打印很多东西:
或使用字符串格式:
必须将整数转换为字符串:
或者将其作为参数传递给
print
,print将为您执行此操作:我会使用字符串格式:
相关问题 更多 >
编程相关推荐