繁体   English   中英

Python:交换数字中的数字

[英]Python: swapping digits in a number

这是我正在尝试编写的程序:

编写一个程序,它总是产生两个三位数的总和,从另外两个三位数的差派生出来,作为 1089,前提是最初选择的数字的第一个和第三个数字相差两个或更多。 为此,提示用户给您一个三位数字,例如 532。取这个数字 532,交换第一位和最后一位数字得到 235。现在从 532 中减去 235(两个数字中较小的一个) (两个数中较大的一个),结果是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)

你可能需要这个来达到你的结果

numberOne = int(exchangedNumber) - int(threeDigit)
numberTwo = int(threeDigit) - int(exchangedNumber)

您需要将它们转换为整数类型以获得预期的结果,最初是字符串类型。了解有关类型转换的更多信息

另一个建议:

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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM