Python将变量值添加到具有按范围循环的列表中

Python将变量值添加到具有按范围循环的列表中,python,list,python-2.7,Python,List,Python 2.7,我有下一个代码: a = int(raw_input()) b = int(raw_input()) c = int(raw_input()) mylist = [] for i in range(a, c): mylist.append(i) print mylist 但通过这种方式,我只得到列表中的2个元素。 如果我使用范围(a,d)我将得到一个错误名称错误:名称“d”未定义 我需要将a、b和c的值添加到带有循环的mylist中。我想您可能需要: a = int(raw_in

我有下一个代码:

a = int(raw_input())
b = int(raw_input())
c = int(raw_input())

mylist = []

for i in range(a, c):
    mylist.append(i)

print mylist
但通过这种方式,我只得到列表中的2个元素。 如果我使用
范围(a,d)
我将得到一个错误
名称错误:名称“d”未定义


我需要将a、b和c的值添加到带有循环的mylist中。

我想您可能需要:

a = int(raw_input())
b = int(raw_input())
c = int(raw_input())

mylist = []

for i in [a, b, c]:
    mylist.append(i)

print mylist
为什么要做这样的事

for i in range(a, c):
    mylist.append(i)
相反,要:

mylist = range(a, c)

现在你的评论澄清了这个问题

要在字符和数字之间切换,请使用
ord
chr
。请注意您给变量的名称和它的值之间的差异

e、 g


Python范围从0开始,因此
范围(a,c)
不考虑c。你应该给出
范围(3)
你希望这段代码具体做什么?@sloth:我相信OP想要使用
for
循环打印a、b和c。但是由于他使用的是
range(a,c)
,所以他的代码不会打印
c
range(a,c)
当两个参数都是
int
时,程序员会创建一个从
a
c-1
的列表,所以
c
会考虑在内,就像sloth说的,不清楚OP想要什么。你为什么要尝试
range(a,d)
?在你的问题中,我看不到任何名为
d
d的东西-也许这就是为什么python说
NameError:名称“d”没有定义
我不明白你是如何得出结论,这就是OP想要的。@KobiK我想这是OP非常清楚的想法,否则他可能不会尝试
range(a,d)
+1@tobias_k你也可以说他想要的是
a->d
的整个范围,而不是像上面的答案那样只
a、b、c、
。我很感激你为帮助我所做的努力,但对我来说,我认为最好先从OP那里得到一个明确的问题,然后给出一个答案:)。@KobiK是的,OP已经得到-3了。这个问题确实不清楚。我认为等待OP的回应是最好的选择。我的答案是,我认为这个问题最好。
mylist=[a,b,c]
会更快。
def letters(start, end):
  begin = ord(start)
  end = ord(end)
  for item in range(begin, end):
    yield chr(item)


>>> for item in letters('a', 'd'):
...   print item
...
a
b
c