2017-03-01 4 views
-4

私は入力時に、私は入力にn言葉Pythonの3入力ループ

n = int(input("")) 
for i in range(n): 
    a = input("") 
    print(a) 

forループを使用します。

3 
1 
1 
1 
2 

これは、入力にn+1言葉

そしてn+1私を許可します単語を出力できません。

は、私はちょうどCで構文と等しく出力したいn個の単語:

int a = 0; 
for(int i=0; i<n; i++) 
    scanf("%d",&a); 

[更新]

実はそれはPycharmの問題です。そして私は理由を知らない。

端末では、コードが動作します。だから、

、plzはdownvoteない....

+1

このコードは正しく動作します。どのようにそれを実行していますか?ターミナルやIDEで実行していますか?プロンプト文字列を 'input'に渡します。例えば、' input( ">") 'がn + 1番目の単語を受け入れることを実際に'入力 'していることを確認します。 –

+1

あなたのCコードは何も出力に書きません。 – Goyo

答えて

0

それはまさに、私はそれを試してみました3回走りました。 あなたがしていることをより明示的にしたい場合は、for i in range(0,n):に設定することができますが、実際に何も変更されません。

ループfor i in range(n):は、0からn-1まで実行されます。 あなたは3でそれを置くのであれば、それは3つのiの値が0であることで実行され、1、2

n = int(input("Enter the number of runs: ")) 
for item in range(0, n): 
    a = input("\tPlease Input value for index %d: "%item) 
    print(a) 

を生成します。これは、出力を生成:

Enter the number of runs: 3 
    Please Input value for index 0: 1 
1 
    Please Input value for index 1: 1 
1 
    Please Input value for index 2: 1 
1 
0

私はしないでくださいこれがあなたのために働いていない理由を理解してください。このことからouputを

n = int(input("Enter number of values: ")) 
for i in range(n): 
    a = input("Enter value {} ".format(i+1)) 
    print("Value {0} was {1}".format(i+1, a)) 

た:何が起こっているのか、それが明確になり、この修正版を試してみてください

は、値の数を入力します。3 は値1、値2 1を1 入力した値1 1 を入力します。 値2は1 入力値3 2 値3は2

0

私はあなたがループで出力される出力と混乱していると思います。あなたが最初n = int(input(""))"3を入力した場合

ループが2(包括的)に0から行きます。

すべてのループで、新しい値aを求めて印刷します。したがって、最初のループの後に1を入力し、1を出力します(印刷するので)。 2番目のループでは別の1を入力し、それを印刷します。最後に2と入力して印刷します。

まずループ:

input: 1 
output: 1 

第二のループ:

input: 1 
output: 1 

第3のループ:

input: 2 
output: 2 

なぜ私は次のことを実行する場合

>>> n = int(input("")) 
3 
>>> for i in range(n): 
...  a = input("") 
...  print a 
... 
1 
1 
2 
2 
3 
3 
01です

私は6つの数字(入力と出力)を取得します。次の例でこれをより明確に見ることができます。

>>> n = int(input("Input: ")) 
Input: 3 
>>> for i in range(n): 
...  a = input("Input: ") 
...  print "Output: " + str(a) 
... 
Input: 1 
Output: 1 
Input: 2 
Output: 2 
Input: 3 
Output: 3 
関連する問題