注册 登录
编程论坛 Python论坛

一个关于翻转三位数的问题

风卷浪起 发布于 2021-11-22 22:04, 1960 次点击
n = int(input()) #输入一个三位数
a = n % 10 #对十求余得个位数
b = n // 10 - n // 100 * 10 #除以十得十位数和百位数,再减去百位数
c = n // 100 #除以一百得百位数
num = a * 100 + b * 10 + c
#总和=个位数*100+十位数*10+百位数
print(num)

各位大佬,请问怎么让b里存的值为n的十位数?我本来是这样想的:假如n的值是345,a的值就是5;而b的话,先整除10得到34,算出百位数3,乘10后,34-30=4,就算出来了。可是写好代码后一看,发现不对劲,n // 100 * 10相当于n // 10,b最后的值就会变成0!我该怎么办呢?
7 回复
#2
apull2021-11-22 23:44
n // 100 * 10 跟n//10不一样
如果n=123
n // 100 * 10 结果是10,清除了n的十位上的数
n // 10 结果是12,只是去掉了n的个位,十位依然保留着。
两者相减就是n的十位上的数。
#3
风卷浪起2021-11-23 13:20
那我要怎么写代码呢?
#4
古1232021-11-23 18:45
这个可以不
程序代码:

s=input('请输入')
s = s[-1] + s[1] + s[0]
print(s)
#5
风卷浪起2021-11-25 13:38
啊,我最近想到了:
n = int(input())
a = int(n / 1 % 10)
b = int(n / 10 % 10)
c = int(n / 100 % 10)
d = a + b + c
print(d)
谢谢帮助!
#6
diycai2021-11-25 14:39
n = int(input())
print(str(n)[::-1])
#7
shmily_cbb2021-12-14 09:27
回复 4楼 古123
#8
sssooosss2021-12-16 11:18
共同进步
1