三位数的拆分 题目2:数字倒序

第四次作业

题目:输入一个三位正整数,请分别计算出,这个正整数的个位、十位和百位

这道题的意思就是,例如321,前面的3就是百位数,2是十位数,1是个位数

1、输入数字

使用input指令进行输入

1
a = input('请输入一个三位数:')

2、数字的提取计算

这一步的计算我们会用到余数的计算,在代码中,它的符号是【%】,这是我们小学学的一个概念,我再给大家复习一下余数的概念

avatar

这里百位数的提取就是输入的数字除以100

avatar

1
b = int(a) / 100

十位数提取需要先算出输入值100的余数,然后除以10

avatar

1
c = int(a) % 100 / 10

个位数需要先100的余数,然后再来一个10的余数

avatar

1
d = int(a) % 100 % 10

3、整数转换

因为这里算出来的除法有可能包含小数,所以我们要把整数提取出来

这里使用int指令即可

1
2
3
e = int(b)
f = int(c)
g = int(d)

4、结果输出

这里使用print指令,注意要把个、十、百分开,要使用str转化为字符串

1
2
3
print('百位数为:' + str(e))
print('十位数为:' + str(f))
print('个位数为:' + str(g))

代码示例

1
2
3
4
5
6
7
8
9
10
a = input('请输入一个三位数:')   
b = int(a) / 100 #百位数提取
c = int(a) % 100 /10 #十位数提取
d = int(a) % 100 % 10 #各位数提取
e = int(b) #百位整数化
f = int(c) #十位整数化
g = int(d) #个位整数化
print('百位数为:' + str(e)) #百位输出
print('十位数为:' + str(f)) #十位输出
print('个位数为:' + str(g)) #个位输出

判定部分(提高篇)

这道题要求输入三位数的输入,如果不是三位数就无法进行提取和匀速,所以要先在第一步进行判定

这里就要使用if语句了,具体的使用方法如下

1
2
3
4
if a<b:
print('a')
else:
print('b')

我一行一行进行解释,如果a小于b(这里的数值需要提前赋值),则显示a,否则显示b

ifelse是一起使用的,有if就要有else,而if的判定就是数字的大小,符号的输入是英文下输入的书名号<>

使用if和else后,代码都要缩进,前面空四格

在题目里,要求输入的是三位数,这个书的范围就是大于等于100,小于1000,写法就是100<=int(a)<1000

如果输入的是三位数,则进行下一步的计算,如果不是三位数,则提示非三位数,无法运算

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
a = input('请输入一个三位数:')   
if 100<=int(a)<1000:
b = int(a) / 100 #百位数提取
c = int(a) % 100 /10 #十位数提取
d = int(a) % 100 % 10 #各位数提取
e = int(b) #百位整数化
f = int(c) #十位整数化
g = int(d) #个位整数化
print('百位数为:' + str(e)) #百位输出
print('十位数为:' + str(f)) #十位输出
print('个位数为:' + str(g)) #个位输出
else:
print('你输入的好像不是三位数')

题目2:数字倒序

将问题一种求得的个位、十位、百位重新倒序组合,即将个位变到百位上、十位仍然在十位、百位放到个位上。组成新的数值。

常规做法

这一步需要把原输入的三位数倒过来,只需要在print里改一下顺序即可

1
2
3
4
5
6
7
a = input('请输入一个三位数:')   
b = int(a) / 100 #百位数提取
c = int(a) % 100 /10 #十位数提取
d = int(a) % 100 % 10 #各位数提取
e = int(b) #百位整数化
f = int(c) #十位整数化
g = int(d) #个位整数化

把数字重新排列,然后输出,注意,需要转化为字符串,不然会加法运算

1
print(str(d) + str(c) + str(b))

代码示例

1
2
3
4
5
6
7
8
a = input('请输入一个三位数:')   
b = int(a) / 100 #百位数提取
c = int(a) % 100 /10 #十位数提取
d = int(a) % 100 % 10 #各位数提取
e = int(b) #百位整数化
f = int(c) #十位整数化
g = int(d) #个位整数化
print(str(d) + str(c) + str(b))

偷懒做法

使用[::-1]进行顺序转换(不推荐)

具体用法如下

avatar

代码示例

1
2
str = input('请输入一个三位数:')   #等待输入输入
print(str[::-1]) #取从后向前(相反)的元素

同学们,一班的作业我已经教给大家了,希望大家能好好学习信息,认真完成作业,尽快赶上一班,加油吧!

文章作者:朱海天 未经允许禁止转载