gpt4 book ai didi

python - while 循环中的字符串连接不起作用

转载 作者:行者123 更新时间:2023-12-01 01:11:08 25 4
gpt4 key购买 nike

我正在尝试创建一个将十进制转换为二进制的 Python 程序。

目前我有

working = int(input("Please select a non-negative decimal number to convert to binary.  "))
x = ()

while working !=0:
remainder = working % 2
working = working // 2

if remainder == 0:
x = remainder + 0
print (working, x)

else:
x = remainder + 1
print (working, x)

print ("I believe your binary number is " ,x)

如果我在那之后打印, while 会自行工作,但 if/else 不会。我正在尝试创建一个字符串,该字符串会添加到每个连续的除法中。目前,如果我的起始整数是 76,我的输出是

38 0
38 0
19 0
19 0
9 2
4 2
2 0
2 0
1 0
1 0
0 2

我试图让我的输出变成

38 0
19 00
9 100
4 1100
2 01100
1 001100
0 1001100

这是我第一次尝试字符串连接,我尝试了上述代码的一些变体以获得类似的结果。

最佳答案

您提供的代码存在一些问题:

  1. x 以值 () 开头,在任何情况下,您都在循环内添加数字,而不是连接字符串。
  2. 您尝试附加数字而不是预先添加数字,因此如果有效,结果将会相反。
  3. 您的第二个 print 不在条件内,因此输出是重复的。

您需要做的是用空字符串初始化x,然后在其前面添加字符串:

working = int(input("Please enter a non-negative decimal number to convert to binary: "))
x = ""

while working != 0:
remainder = working % 2
working = working // 2

if remainder == 0:
x = "0" + x
else:
x = "1" + x

print (working, x)

print ("I believe your binary number is", x)

输出:

λ python convert-to-binary.py
Please enter a non-negative decimal number to convert to binary: 76
38 0
19 00
9 100
4 1100
2 01100
1 001100
0 1001100
I believe your binary number is 1001100

关于python - while 循环中的字符串连接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54859705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com