2024-05-16 01:18:06 发布
网友
我正在做一个程序,将基数10中的一个数字改为基数7,所以我这样做了:
num = int(raw_input("")) mod = int(0) list = [] while num> 0: mod = num%7 num = num/7 list.append(mod) list.reverse() for i in range (0,len(list)): print list[i],
但如果号码是210,它会打印出420,我该如何去掉空格
您可以使用join和列表理解:
>>> l=range(5) >>> print l [0, 1, 2, 3, 4] >>> ''.join(str(i) for i in l) '01234'
另外,不要使用list作为变量名,因为它是一个内置函数。
list
在python 3中,您可以这样做:
print(*range(1,int(input())+1), sep='')
如果输入=4:
1234
看看sys.stdout。它是一个文件对象,包装标准输出。因为每个文件都有write方法,该方法接受字符串,并将其直接放入STDOUT。它本身也不会改变或添加任何字符,因此当您需要完全控制输出时,它很方便。
sys.stdout
write
>>> import sys >>> for n in range(8): ... sys.stdout.write(str(n)) 01234567>>>
注意两件事
另外,知道您使用的构造很方便:
for i in range (0,len(list)): print list[i],
相当于(坦率地说,效率更高一点):
for i in list: print i,
您可以使用join和列表理解:
另外,不要使用
list
作为变量名,因为它是一个内置函数。在python 3中,您可以这样做:
如果输入=4:
看看
sys.stdout
。它是一个文件对象,包装标准输出。因为每个文件都有write
方法,该方法接受字符串,并将其直接放入STDOUT。它本身也不会改变或添加任何字符,因此当您需要完全控制输出时,它很方便。注意两件事
另外,知道您使用的构造很方便:
相当于(坦率地说,效率更高一点):
相关问题 更多 >
编程相关推荐