目前,我正在编写我的Python2书中的一组练习,其中一个问题让我很为难。以下是问题:
“5.1-编写一个程序,从用户那里读取一个数字列表;当用户输入0时,列表终止。在所有输入之后,程序应该打印列表。“
我对5.1的回答如下:
def main():
L = []
done = False
while not done:
num = input( "Enter a number: " )
if num == 0:
for i in L:
print i
done = True
else:
L.append(num)
main()
练习5.2的问题是:
“5.2-将程序(5.1)更改为使用元组而不是列表。”
这有可能吗?我的印象是元组是不可变的,所以这里不能用元组代替列表。我说得对吗?我疯了吗?我的Python书疯了吗?我在这里完全不知道元组有什么吗?帮助。。。你知道吗
不能修改元组,但可以通过合并两个元组来创建新元组:
这可能是因为该练习认为您不必通过一次附加一个元素来构建元组,事实上,您可以通过一点隐式循环来完成这一切:
注意我们没有写信
我们要将
get_some_input
函数传递给iter
,而不是调用它的结果。iter
将为我们重复调用函数,直到它得到0
。你知道吗我们还可以写:
没有
tuple()
。不同的是,在启动for循环之前,我们不会消耗所有的iter(...)
。你知道吗只需对元组使用
+
运算符即可。你知道吗可以用不同的方式初始化元组:
我会这样写你的函数:
相关问题 更多 >
编程相关推荐