如何让计算机处理循环,然后在python中反过来迭代打印语句?

时间:2017-03-20 10:47:19

标签: python python-3.x

我正在尝试制作一个将十进制转换为二进制的python程序。 这就是我做的 -

dec = 22
while dec > 0:
    i = (dec % 2)
    print (i, end = '')
    dec = dec // 2

输出01101.我需要10110.我该怎么做?

PS: - 我刚开始编码2周前。请原谅我,如果答案是显而易见的,或者我要求的是不可能的。

2 个答案:

答案 0 :(得分:1)

您可以使用extended slice语法:

dec = 22
result = ''
while dec > 0:
    i = (dec % 2)
    result += str(i)
    dec = dec // 2

print (int(result[::-1]))

答案 1 :(得分:0)

而不是反向迭代打印语句,您可以将结果保存在变量中,可能是这样的

dec = 22 #1
result = '' #2
while dec > 0: #3
    i = (dec % 2) #4
    result = str(i) + result #5
    dec = dec // 2 #6
print(result) #7

编辑,添加说明

您的原始代码中还有第2行和第7行,并在第5行中更改。

在第2行中,我们声明了一个名为result的变量,我们用空字符串初始化它。

在第5行,我们将i转换为带有 str(i)的字符串,然后在之前的结果前面添加 + 。您可以在此处安排结果,可以在前一个( str(i)+结果)之前或之前的结果之前(结果+ str(i)

在第7行,我们只打印结果变量

的内容