不能打印布尔值(true,false),TypeError:必须是str,而不是bool

时间:2018-04-16 17:37:12

标签: python macos

试图搜索问题但找不到。这是代码:

number1 = input("Hello, tell me one number! :")
number2 = input("Now the second number! :")

sum = (float(number1) + float(number2))/2
result1 = number1 <= number2

print("Number 1 is:" + number1 )
print("Number 2 is:" + number2 )
print("The average of {0} and {1} is {2}".format(number1, number2, 
sum))
print(number1 + "is smaller or equal than" + number2 + ":" + result1)

错误代码是:

  

print(number1 +“小于或等于”+ number2 +“:”+ result1)
  TypeError:必须是str,而不是bool

现在我的和号有一个类似的问题,但是我可以用float()修复它,但是我无法弄清楚如何在最后打印一个简单的true / false。

3 个答案:

答案 0 :(得分:1)

您的输出表达式:

number1 + "is smaller or equal than" + number2 + ":" + result1

...对各种数据类型执行+操作。在这种情况下,您需要每个操作数为string。使用str(result1)__repr__(result1)提供所需类型。

答案 1 :(得分:1)

你可以使用字符串转换

str(result1)

答案 2 :(得分:0)

您无法将bool添加到str

>>> "hello"+True
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: must be str, not bool
>>> 'hello'+str(True)
'helloTrue'