如何反转print打出的内容
题目:编写一个将十进制转换为二进制的函数,要求采用“除2取余”(补脑链接)的方式,结果与调用 bin() 一样返回字符串形式。def gcd(x):
list1=[]
while 1:
yushu = x%2
if x < 1:
break
x = x//2
print(yushu,end="")
https://baike.baidu.com/item/%E5%8D%81%E8%BF%9B%E5%88%B6%E8%BD%AC%E4%BA%8C%E8%BF%9B%E5%88%B6
因为要把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列。所以我的字符串是反的,请问如何达到目的 是要把字符串的内容倒过来了吗?
如果是可以这样:
a = 'yujunpeng'
b = list(reversed(list(a)))
for each in b:
print(each,end='') 我最近也做了这道题{:10_250:}是递归的吧 我的是这样的
def er(x):
if x ==0 :
return '0b'
elif x%2 == 1:
return er(x//2)+'1'
else:
return er(x//2)+'0'
先反转字符串再输出
def gcd(x):
list1=[]
while 1:
yushu = x%2
if x < 1:
break
x = x//2
print(yushu[::-1], end="") zltzlt 发表于 2020-4-10 08:02
先反转字符串再输出
我一开始的代码有问题我改了一下,但现在输出的是列表,怎么把以数字输出呢
def gcd(x):
list1=[]
while 1:
yushu = x%2
if x < 1:
break
x = x//2
list1.append(yushu)
print(list1[::-1])
沐羽尘 发表于 2020-4-10 00:02
我最近也做了这道题是递归的吧 我的是这样的
你的方法很好很巧妙,谢谢分享 枫枫duck 发表于 2020-4-10 08:54
我一开始的代码有问题我改了一下,但现在输出的是列表,怎么把以数字输出呢
def gcd(x):
list1=[]
while 1:
yushu = x%2
if x < 1:
break
x = x//2
list1.append(yushu)
print(''.join(list1[::-1])) zltzlt 发表于 2020-4-10 12:18
这样的话会报错sequence item 0: expected str instance, int found
我查了一下,join对象是字符串加个str就好了
def gcd(x):
list1=[]
while 1:
yushu = x%2
if x < 1:
break
x = x//2
list1.append(str(yushu))
print(''.join(list1[::-1]))
页:
[1]