我创建了一个while循环(下面),它访问列表的每个元素并打印其正方形。现在,我将如何更改此程序,以便它取代每个元素的正方形。例如:如果x = [2,4,2,6,8,10],那么x将改为x = [4,16,4,36,4,64,100]
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 :(得分: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())
...
答案 1 :(得分: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
答案 2 :(得分:0)
x = [n**2 for n in x]
列表理解是你的朋友。