[英]Print numbers on same line (Python)
我有一个变量,它从每个循环的列表中给出输出数字。
idx = 0
for i in y:
listbyte = subprocess.check_output('python foo.py ' + path + str(y[idx]), shell=True).rstrip()
idx += 1
listnum = listbyte.decode()
number = (listnum[0])
print(number)
u.append(listnum)
如果我打印number
,输出格式为:
1
2
3
4
5
如果我把end = ''
放在打印的末尾,它工作得很好,输出: 12345
。
问题是:我怎样才能使这个输出成为一个变量? 我必须对程序中的某些代码使用这种格式,但从我看来, end = ''
参数仅限于print()
函数。
它应该是这样的:
a = number(listnum[0])
print(a)
>>>12345
谢谢
编辑:使用 Megabeets 答案,现在的输出是:
0
09
091
0912
09126
091265
0912655
09126554
091265548
您可以使用a += (listnum[0])
如以下示例所示:
a = ''
idx = 0
for i in y:
listbyte = subprocess.check_output('python foo.py ' + path + str(y[idx]), shell=True).rstrip()
idx += 1
listnum = listbyte.decode()
a += (listnum[0])
u.append(listnum)
然后a
将是一个包含“12345”的字符串
>>> print(a)
12345
如果您希望a
最后是整数而不是字符串,则可以使用int(a)
解析它
您可以将号码或者存储在一个string
并转换,为int
或追加到一个list
,并join
以后他们。
来自[1,5]
的数字列表的示例:
使用list
,
>>> nums = []
>>> for i in range(1,6):
nums.append(i)
>>> nums
=> [1, 2, 3, 4, 5]
>>> ''.join(str(x) for x in nums)
=> '12345'
>>> int(''.join(str(x) for x in nums))
=> 12345
使用str
>>> nums = ''
>>> for i in range(1,6):
nums+=str(i)
>>> nums
=> '12345'
>>> int(nums)
=> 12345
或者甚至在没有任何数学转换的情况下进行
>>> nums=0
>>> for i in range(1,6):
nums=(nums*10)+i
>>> nums
=> 12345
打印 5 % (101 % 3) 和 (76 // 3) * 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.