2016-04-01 26 views
2

リストの各要素にアクセスし、その正方形を印刷するwhileループ(下)を作成しました。さて、どのように私はそれが正方形で各要素を置き換えるようにこのプログラムを変更するだろう。たとえば、次のようにxは= [2,4,2,6,8,10]、そしてxは、X = [4,16,4,36,4,64,100]Pythonリストとループ/要素の変更

print("Enter any into the list: ") 
    x = eval(input()) 
    n=0 
    while n < len(x): 
     print("The square of", x[n], "is", x[n]**2) 
     n += 1 

答えて

0

に変更される場合は次のことができますwhileループでそれを設定します。

print("Enter any into the list: ") 
x = eval(input()) 
n=0 
while n < len(x): 
    print("The square of", x[n], "is", x[n]**2) 
    x[n] = x[n] ** 2 
    n += 1 

しかし、eval()を使用することはお勧めできません。あなたはast.literal_eval()を使用する必要があります。

import ast 

print("Enter any into the list: ") 
x = ast.literal_eval(input()) 
... 
0

あなたはほとんどforループを除いて、同じことをするだろう:

for i in range(0, len(x)): # x must be a list 
    x[i] **= 2 

ます。またwhileループでそれを設定できます

print("Enter any into the list: ") 
x = eval(input()) 
n=0 
while n < len(x): 
    print("The square of", x[n], "is", x[n]**2) 
    x[n] **= 2 
    n += 1 
+0

'range()'は最初の引数を必要としません。デフォルトの開始は「0」です。 – zondo

+0

それは分かっていませんでしたが、私は読書のための0が好きです –

+0

整数の2乗の新しいリストを作成するリストの修正されたコピーをどうすれば作成できますか?言い換えれば、元のリストと新しいリストが四角で表示されますか? –

0
x = [n**2 for n in x] 

リスト内包はあなたの友人です。

関連する問題