我是一名iPython初学者,我的代码需要一些帮助。 我想从输入中读取6个值。它们可以是整数,浮点数,复数,字符串或列表。 在读取值并将它们附加到列表后,我执行以下转换:
对于整数:将其替换为列表中的平方根。
用于浮动:用列表中数字的余弦替换它。
对于复数:将其替换为列表中的实部。
表示字符串:将其转换为列表中的大写字母。
列表:丢弃最后一个元素。
程序抛出以下错误:
File "<ipython-input-1-1f00b88d82c9>", line 20
else i is list:
^
SyntaxError: invalid syntax
并且它也不能将字符串值存储到列表中。它总是存储 。 我该如何解决这个错误? 这是我的代码:
import math as m
l=[]
i=0
while i<6:
x=input("Enter some values: ")
if isinstance(x,str):
x=int(x)
l.append(x)
i=i+1
print l
for i in l:
if i is str:
i=s.capitalize(i)
elif i is int:
i=m.sqrt(i)
elif i is float:
i=m.cos(i)
elif i is complex:
i=l.real(i)
else i is list:
n=len(l)
i=remove[n-1]
print l
答案 0 :(得分:6)
只需替换
else i is list:
与
elif i is list:
由于即使在最后一种情况下您也需要评估条件,因此您需要&#39; if&#39;功能,请使用elif
。 else
不能立即跟踪条件,因此您看到了错误
此外,你有错误行
i=remove[n-1]
如果要删除列表i
中的最后一个元素,则需要
del i[-1]