【发布时间】:2013-11-28 18:47:34
【问题描述】:
我尝试编写一个 Python 2 程序,该程序使用两个类创建一个包含十个包含数字 0 的元素的列表,并将列表中的第三个元素替换为 1-10 之间的随机数。但是,当我调用并打印 add_number_to_list() 函数时,它返回一个未更改的列表。这是我的代码:
#coding: iso-8859-1
import random
class Slumpa:
def __init__(self):
pass
def add_number_to_list(self, list):
a = random.randint(1, 10)
list[2] == a
return list
class Lista:
def __init__(self):
self.b = Slumpa()
self.c = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
def add_number_to_list(self):
return self.b.add_number_to_list(self.c)
P = Lista()
print P.add_number_to_list()
另外,如果你有一个 for 循环,比如这个:
for i in range(0, len(lista)):
if lista[i] == 0:
lista[i] = a
break
是否必须使用 break 语句才能跳出循环,还是可以使用 i = len(lista) + 1?
【问题讨论】:
-
有趣的是,人们通常会犯相反的错误)。
标签: python list function class object