python中存在问题:显示错误只能将str(而不是“bool”)连接到str

2024-04-24 16:50:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我对python还很陌生,如果您愿意说的话,我为“noob”代码感到抱歉。但请帮助我: 我尝试将两个数字相加,并显示哪一个作为布尔值更大

num_1 = input("Enter first number: ")    
num_2 = input("Enter second number: ")

num_1 = int(num_1)
num_2 = int(num_2)

Sum = num_1 + num_2

print(Sum)

Greater = num_1 > num_2
Smaller = num_1 < num_2

print("is number 1 greater than number 2?  " + Greater)
print("is number 2 greater than number 1?  " + Smaller)

Tags: 代码numberinputisnumintsumprint
3条回答

执行字符串格式,该格式应打印true或false


print(f"is number 1 greater than number 2? {Greater} " )

print(f"is number 2 greater than number 1? {Smaller}" )

输出

Enter first number: 12
Enter second number: 33
45
is number 1 greater than number 2? False 
is number 2 greater than number 1? True

比较运算符的结果是布尔值(或者True或者False)。正如错误消息所说,不能将字符串与布尔值连接起来,因为Python是一种强类型语言。您有几个选择:

  1. 将它们作为单独的参数传递给print函数:

    print("is number 1 greater than number 2?", Greater)
    print("is number 2 greater than number 1?", Smaller)
    
  2. 使用f字串:

    print(f"is number 1 greater than number 2? {Greater}")
    print(f"is number 2 greater than number 1? {Smaller}")
    
  3. 使用.format()

    print("is number 1 greater than number 2? {}".format(Greater))
    print("is number 2 greater than number 1? {}".format(Smaller))
    

在使用str强制转换字符串后,可以将其与布尔值连接起来

num1 = int(input("Enter a number: "))
num2 = int(input("Enter a number: "))

sum = num1 + num2
print(sum)

greater = num1 > num2
smaller = num1 < num2

print("Is number 1 greater than number 2? " + str(greater))

print("Is number 2 greater than number 1? " + str(smaller))

请参见结果here

相关问题 更多 >