python核心编程中的题目的问题。。。。。。。

python核心编程中的题目的问题。。。。。。。

题目是这样的:创建一个包含五个固定数值的列表或元组,输出他们的和,然后修改你的代码为接受用户输入数值。分别使用while和for循环实现!

我的代码是这样的
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Last modified: 2009年01月31日 星期六 17时33分26秒 [IBM-R60e-YJ]

"""docstring
"""
numList = int()
for i in range(0,4):
    numList[i] = int(raw_input("请输入第个数字!"))
    i+=1
__revision__ = '0.1'



结果运行的时候,只能输入第一个数字,初学编程也不知道错在哪,要怎么思考这个题。。。。。。。

错误如下:

17:33:00 jin0828@IBM-R60e-YJ:works$ python 2_8_xunhuan.py
请输入第个数字!1
Traceback (most recent call last):
  File "2_8_xunhuan.py", line 9, in <module>
    numList = int(raw_input("请输入第个数字!"))
TypeError: 'int' object does not support item assignment
17:33:31 jin0828@IBM-R60e-YJ:works$
numList = int();

==>

#预先分配长度为5的数组
numList  = [0]*5;
必须要预先分配才能使用吗?还有没有其他的分配方式呢?感觉加上这一句就和vc里面的声明是一样的。。。。。
还有,如果使用for计算这个元组中的所有的数字,应该怎么写代码?

for i in range(0,5):
    jieguo = jieguo + numList
    i+=1
print jieguo

我这么写,输入的都是第一个数字。。。。。

说我没有定义名字 jieguo...... 难道这样的变量在python中也要声明么?

for i in range(0,5)
i本身就会自加了。
看来python和windows下的那些个破VC VB什么的,差别还是很大。。。。。
i+=1去掉啊,for里用的是迭代式。
num= [int(raw_input("请输入第个数字!"))]*5
print sum(num)

还是帮你完完整整写一个程序吧:
#!/bin/env python
# -*- coding: utf-8 -*-

#固定5个数值的列表。
numList = [5, 6, 7, 8, 9]
print '列表%s的和为: %s' % (numList, sum(numList))

#while循环。
i = 0
numList = []
while i < 5:
    numList.append(int(raw_input('请输入第' + str(i + 1) + '个数字!')))
    i += 1
print '列表%s的和为: %s' % (numList, sum(numList))

#for循环。
i = 0
numList = []
for i in range(0, 5):
    numList.append(int(raw_input('请输入第' + str(i + 1) + '个数字!')))
print '列表%s的和为: %s' % (numList, sum(numList))



说实话,Python的代码编写风格,是越看越简洁、越看越喜欢。