簡體   English   中英

在同一行打印數字范圍

[英]Print range of numbers on same line

使用 python 我想在同一行上打印一系列數字。 我如何使用 python 執行此操作,我可以通過不添加\n使用 C 來執行此操作,但我如何使用 python 來執行此操作。

for x in xrange(1,10):
    print x

我試圖得到這個結果。

1 2 3 4 5 6 7 8 9 10
>>>print(*range(1,11)) 
1 2 3 4 5 6 7 8 9 10

Python 一個班輪來打印范圍

蟒蛇 2

for x in xrange(1,11):
    print x,

蟒蛇 3

for x in range(1,11):
    print(x, end=" ") 
for i in range(10):
    print(i, end = ' ')

您可以為結束字段提供任何分隔符(空格、逗號等)

這適用於 Python 3

str.join在這種情況下是合適的

>>> print ' '.join(str(x) for x in xrange(1,11))
1 2 3 4 5 6 7 8 9 10 

這是一個老問題,Python3 不支持xrange

你可以試試 -

print(*range(1,11)) 

要么

for i in range(10):
    print(i, end = ' ')

同樣可以通過使用stdout來實現。

>>> from sys import stdout
>>> for i in range(1,11):
...     stdout.write(str(i)+' ')
...
1 2 3 4 5 6 7 8 9 10 

或者,也可以通過使用reduce()來完成:

>>> xrange = range(1,11)
>>> print reduce(lambda x, y: str(x) + ' '+str(y), xrange)
1 2 3 4 5 6 7 8 9 10
>>>
[print(i, end = ' ') for i in range(10)]
0 1 2 3 4 5 6 7 8 9

這是與@Anubhav 相同的答案列表理解方法

for i in range(1,11):
    print(i)

我知道這是一個老問題,但我認為這現在有效

雖然已經給出了問題的答案。 我想補充一下,如果我們需要打印沒有空格的數字,那么我們可以使用以下代碼

        for i in range(1,n):
            print(i,end="")

另一個單行 Python 3 選項,但帶有顯式分隔符:

print(*range(1,11), sep=' ')

n = int(input())
for i in range(1,n+1):
    print(i,end='')

在打印函數中使用end = " "

代碼:

for x in range(1,11):
       print(x,end = " ")

這是一個可以像 scipy pdf 一樣處理單行或多行 x 的解決方案:

from scipy.stats import multivariate_normal as mvn

# covariance matrix
sigma = np.array([[2.3, 0, 0, 0],
           [0, 1.5, 0, 0],
           [0, 0, 1.7, 0],
           [0, 0,   0, 2]
          ])
# mean vector
mu = np.array([2,3,8,10])

# input
x1 = np.array([2.1, 3.5, 8., 9.5])
x2 = np.array([[2.1, 3.5, 8., 9.5],[2.2, 3.6, 8.1, 9.6]])


def multivariate_normal_pdf(x, mu, cov):
    x_m = x - mu

    if x.ndim > 1:
        sum_ax = 1
        t_ax = [0] 
        t_ax.extend(list(range(x_m.ndim)[:0:-1])) # transpose dims > 0
    else:
        sum_ax = 0
        t_ax = range(x_m.ndim)[::-1]


    x_m_t = np.transpose(x_m, axes=t_ax) 
    A = 1 / ( ((2* np.pi)**(len(mu)/2)) * (np.linalg.det(cov)**(1/2)) )
    B = (-1/2) * np.sum(x_m_t.dot(np.linalg.inv(cov)) * x_m,axis=sum_ax)
    return A * np.exp(B)

print(mvn.pdf(x1, mu, sigma))
print(multivariate_normal_pdf(x1, mu, sigma))

print(mvn.pdf(x2, mu, sigma))
print(multivariate_normal_pdf(x2, mu, sigma))

對於 Python 3:

for i in range(1,10): 
    print(i,end='')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM