我正在尝试制作一个将十进制转换为二进制的python程序。 这就是我做的 -
dec = 22
while dec > 0:
i = (dec % 2)
print (i, end = '')
dec = dec // 2
输出01101.我需要10110.我该怎么做?
PS: - 我刚开始编码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行,我们只打印结果变量
的内容