【发布时间】:2012-07-31 22:30:09
【问题描述】:
在我的程序中,用户输入数字n,然后输入n的字符串数,这些字符串存储在一个列表中。
我需要编写这样的代码,如果存在某个列表索引,则运行一个函数。
由于我已经嵌套了关于 len(my_list) 的 if 语句,这让事情变得更加复杂。
这是我现在所拥有的简化版本,但它不起作用:
n = input ("Define number of actors: ")
count = 0
nams = []
while count < n:
count = count + 1
print "Define name for actor ", count, ":"
name = raw_input ()
nams.append(name)
if nams[2]: #I am trying to say 'if nams[2] exists, do something depending on len(nams)
if len(nams) > 3:
do_something
if len(nams) > 4
do_something_else
if nams[3]: #etc.
【问题讨论】:
-
看起来您想将 cast
n键入为整数,而不是列表。我很困惑。 -
是的,这里真正的问题是在
ifs 中使用n而不是nams -
在你的情况下 n 不是一个列表。首先检查(强制转换)它是一个整数,然后你可以根据你想要达到的效果进行迭代或枚举。
-
是的,打错了。固定为 nams[]
-
“事实上我有关于 len(my_list) 的子 if 语句。”您是否考虑过列表的
len至少是一个特定值这一事实暗示了哪些列表索引存在?
标签: python python-2.7