转换列表中元素的错误

时间:2015-04-15 19:58:43

标签: python ipython

我是一名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

1 个答案:

答案 0 :(得分:6)

只需替换

else i is list:

elif i is list:

由于即使在最后一种情况下您也需要评估条件,因此您需要&#39; if&#39;功能,请使用elifelse不能立即跟踪条件,因此您看到了错误 此外,你有错误行

i=remove[n-1]

如果要删除列表i中的最后一个元素,则需要

del i[-1]