2017-09-13 67 views
0

如何在for循環中給出條件。我想要做如何給循環中的條件?

for i in range(1,i <= n,1): 
for j in range(1,j <= i,1): 

以上說法不起作用爲什麼我不知道。我是python的新手。請給出建議。

class trianglePro: 
    n = int(input("Enter number : ")) 
    i = 1 
    j = 1 
    for i in range(1,n,1): 
     for j in range(1,i,1): 
      print (" j: ", j) 
     print("") 

現在輸出的是: 輸入數字:5

j: 1 

j: 1 
j: 2 

j: 1 
j: 2 
j: 3 

想輸出是:

Enter the value for n:5 
    1 
    1 2 
    1 2 3 
    1 2 3 4 
    1 2 3 4 5 
+1

你以前使用C/C++/Java的/ ...? –

+0

正如[編程的第一步](https://docs.python.org/3/tutorial/introduction.html?highlight = indentation#first-steps-toward-programming),正確的縮進在python中很重要。 [範圍**的Python文檔](https://docs.python.org/3/library/stdtypes.html?highlight=range#range)有例子可以幫助你處理你的循環。 – jq170727

+0

@Willem Van Onsem我之前使用過java。 –

回答

1

我會做:

from __future__ import print_function 

n = int(input("Enter number : ")) 
for i in range(n): 
    for j in range(1,i+2): 
    print (j,end=' ') 
    print('') 

輸出繼電器:

Enter number : 5 
1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 

下降的第一行,如果你使用Python 3

+0

非常感謝 –

0

範圍聲明

Python使用一個for循環語法:

for <pattern> in <iterable-expression>: 
    # ... 

所以for迴路Python是一種foreach循環是在C/C++/Java的/ C#的家庭是什麼(在Java中通常是for(Var var : iterable))。

range(..)是一個可迭代的構造函數。如果構造一個對象,它將發出0,24。在Python中沒有像for(int i = 0; i < 5; i++)這樣的專用語法。

打印無新線

一個print聲明在結尾自動添加一個新。所以如果你寫print(4),你寫"4\n"到輸出通道。但是,您可以覆蓋end參數print以防止出現這種情況:您可以編寫print(4, end='')以僅將"4"寫入標準輸出通道。所以,你可以重寫你的代碼:

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

注意,你也應該放棄在打印語句" j: ",因爲否則將打印的輸出通道爲好。例如:在文件頭

from __future__ import print_function 

>>> n=5 
>>> for i in range(1,n+1,1): 
...  for j in range(1,i+1,1): 
...   print (j, end=' ') 
...  print('') 
... 
1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 

,你最好從通過書面形式導入print(..)功能。

+0

這不會做他想做的,輸出不是正確的。 – Esteban

+0

@williem非常感謝您的理論和計劃。 –