这是我试图编写的程序:
编写一个程序,它总是产生两个三位数的总和,派生自 两个其他三位数字的差异,如1089,提供了最初的 所选数字的第一个和第三个数字相差两个或更多。为此,请提示 用户给你一个三位数的号码,例如532.拿这个号码,532,交换 得到235的第一个和最后一个数字。现在减去235(两个数字中较小的一个) 从532(两个数字中较大的一个),结果是297.取得差异, 297,并切换其第一个和第三个数字得到792.添加297到792,结果是 1089.如果用户未获得1089作为结果,请通知他/她原始条目 第一个和最后一个数字相差小于2.
这是我到目前为止所做的,它给了我一个错误。我是python和编程的新手,所以如果你能帮助我,我将不胜感激。
这是我到目前为止所做的:
Have user give 3 digit number
threeDigit = str(input("Please enter a 3 digit number without spaces between the numbers.\t"))
#Exchange first and last digits
exchangedNumber = str(threeDigit)[::-1]
print(exchangedNumber)
#Subtract smaller number from greater one
numberOne = exchangedNumber - threeDigit
numberTwo = threeDigit - exchangedNumber
if exchangedNumber>threeDigit: print(numberOne)
if threeDigit>exchangedNumber: print(numberTwo)
答案 0 :(得分:1)
您可能需要这样才能实现结果
numberOne = int(exchangedNumber) - int(threeDigit)
numberTwo = int(threeDigit) - int(exchangedNumber)
您需要将它们转换为整数类型才能获得预期的结果,最初是字符串类型。了解有关type conversions的更多信息
答案 1 :(得分:0)
另一个建议:
threeDigit = str(input("Please enter a 3 digit number without spaces between the numbers.\t"))
print(threeDigit)
exchangedNumber = str(threeDigit)[::-1]
print(exchangedNumber)
substractexchangednumber = abs(int(exchangedNumber) - int(threeDigit))
print(substractexchangednumber)
exchangedNumber = str(substractexchangednumber)[::-1]
print(exchangedNumber)
print(substractexchangednumber + int(exchangedNumber))