如何在python中打印addition? 我试着定义加法并告诉它打印:
subtraction = int(number - reverse(number))
print str(subtraction)
但它总是说:
Traceback (most recent call last):
File "C:\Python25\Castor's Python Programs\proj02.py", line 16, in <module>
subtraction = int(number - reverse(number))
TypeError: unsupported operand type(s) for -: 'str' and 'str'
这是我的全部代码:
import sys
def reverse(num):
return (num)[::-1]
print "This is a puzzle favored by einstein. You will be asked to enter a three digit number, where the hundred's digit differs from the ones digit by at least two. The procedure will always yield 1089."
number = raw_input("Give me a number:")
print "For the number: "
print number
print " the reverse number is: "
print reverse(number)
print "The difference between "
print number
print" and "
print reverse(number)
print " is "
subtraction = int(number - reverse(number))
print str(subtraction)
print "The reverse difference is: "
print str(reverse(subtraction))
print "The sum of: "
print subtraction
print " and revDiff is: "
finaladdition = int(subtraction - reverse(subtraction))
print str(finaladdition)
有人能帮忙吗?
在减去之前,需要将
number
转换为int。number
这里有一个字符串,因为它是由返回字符串的raw_input
设置的。要使
print str(reverse(subtraction))
起作用,必须将subtraction
转换为字符串,因为它是通过减法设置的int。因此:但是
reverse
将返回一个字符串,因此前面的str是不需要的。另外,
finaladdition = int(subtraction - reverse(subtraction))
需要成为:在将
subtraction
传递给reverse
之前,我们必须将其转换为字符串,因为reverse
将其参数用作字符串。在第一部分中,subtraction
已经是一个int,因此不需要将其转换为int。你试图减去两个字符串,这是做不到的。在执行操作之前,要先将这些字符串转换为数字:
相关问题 更多 >
编程相关推荐