在同一行打印数字(Python)

2024-10-01 09:33:59 发布

您现在位置: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,则输出格式为:

^{pr2}$

如果我把end = ''放在打印的末尾,它会很好地工作,输出:12345。在

一个问题是,我怎样才能产生变量?我必须对程序中的一些代码使用这种格式,但是从我所看到的end = ''参数仅限于print()函数。在

应该是这样的:

a = number(listnum[0])
print(a)

>>>12345

谢谢

编辑:使用Megabeets答案,现在的输出是:

0
09
091
0912
09126
091265
0912655
09126554
091265548

Tags: innumber列表foroutputfoocheck格式
2条回答

您可以使用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”的字符串

^{pr2}$

如果您希望a结尾是一个整数,而不是一个字符串,您可以使用int(a)来解析它

您可以将这些数字存储在string中并将其转换为int,或者稍后将其附加到list和{}中。在

示例来自[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

^{pr2}$

或者甚至不进行任何数学上的转换

>>> nums=0
>>> for i in range(1,6): 
        nums=(nums*10)+i 

>>> nums
=> 12345

相关问题 更多 >