首页
学习
活动
专区
圈层
工具
发布

技术 | Python从零开始系列连载(二十四)

导读

为了解答大家学习Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

在上一期的Python数据结构与算法刷题模块,我们已经学会了在屏幕上画一个正方形,今天就让我们一起进入下一节吧!Python的基础和进阶知识的连载欢迎到文末处查看往期精彩文章,也可以在菜单栏【Python连载】查看!

D进制的A+B

输入两个非负10进制整数A和B(<=2^30-1),输出A+B的D (1 < D <= 10)进制数。

输入格式:

输入在一行中依次给出3个整数A、B和D。

输出格式:

输出A+B的D进制数。

输入样例:

代码语言:javascript
复制
123 456 8

输出样例:

代码语言:javascript
复制
1103

解题思路:先计算A+B(此时为十进制),然后把结果转换为D进制,而十进制转换为D进制的过程可以使用“除基取余法”。

这里的"基",指的是要转换为的进制D,除基取余指的是每次将要转换的数除以D,将余数存储起来,得到的商继续除D,重复操作,直到最后商为零。

将所有的余数从后往前输出就可以得到新的进制数z。

举个栗子:

11除以2,商为5,余数为1

5除以2,商为2,余数为1

2除以2,商为1,余数为0

1除以2,商为0,余数为1

将余数从后往前输出,得到1011就是11的二进制数。

上代码:

注意点:

1.range()的步长、范围和反向输出

2.int的整除

3.列表的索引使用

4.input一次获取多个值与获取数据格式

5.print的默认格式改变

6.考虑特殊输入情况

光看不练,眼高手低可不好哦,动手敲代码吧~

下一篇
举报
领券