Grok Learning:将此TypeError减半

时间:2016-11-27 20:24:26

标签: python

我必须编写一个读取整数的程序并打印出该数字除以2。这是我的代码:

a= int(input("Number: "))
h= a/2
print("Half number: " + h)    

但我一直得到这个

Number: 6
Traceback (most recent call last):
File "program.py", line 3, in <module>
print("Half number: " + h)
TypeError: Can't convert 'float' object to str implicitly

我没有看到我的代码有任何问题,我不知道错误是什么。知道什么是错的吗?

3 个答案:

答案 0 :(得分:1)

a = int(input(“ Number:”))

h = a / 2

print('半数:',h) 虽然之间没有空格

答案 1 :(得分:0)

表达式:

"Half number: " + h

正在尝试将字符串添加到浮点数。您可以向字符串添加字符串:

"This string" + ", then this string"

并漂浮到花车:

100.0 + 16.8

但Python并不愿意让你添加字符串和浮点数。 (在上面的错误消息中,Python处理了第一个字符串和添加,现在它需要一个字符串 - 这就是为什么你得到它不能 - 或至少赢得的错误&#39 ; t - 将&#39; float&#39;数字转换为字符串。)

您可以通过几种方式告诉Python这是您真正希望它做的事情。一种是使用内置的str()函数将任何对象转换为合理的字符串表示形式,准备添加到另一个字符串中:

 h = 100
 "You can add a string to this: " + str(h)

答案 2 :(得分:0)

这是一种非常简单的方法。

这是Grok Learning的示例解决方案:

n = int(input('Number: '))
print('Half number:', n/2)

以下是我的解释:

您可能已经猜到了,n是一个变量。在这段代码中,我们将为n分配一些信息。 int(input('Number '))是Python将随后读取并遵循的语句。 int()告诉Python输入将是一个整数,input()允许用户输入他们想要输入的任何内容。 n/2只是说“ n除以2” 的另一种方式。 print()告诉Python打印一条语句,因此print('Half number:', n/2)会打印出“半数”只是上面输入的数字的一半。

以下是输出的示例:

Number: 6
Half number: 3

(在该示例中,输入为 6 。)

是的,我知道您可能已经知道这些内容,但是我将这些信息留给将来可能会访问此网站的人。您曾经犯过的错误是您应该使用+时使用了,。 Python在处理您所说的内容时非常严格,因此它不允许您使用strint+放在一起。因此,下次请记住使用,

希望对您有帮助。