python程序NameError,求助

软件和网站开发以及相关技术探讨
回复
头像
princelai
帖子: 920
注册时间: 2007-01-06 21:00
联系:

python程序NameError,求助

#1

帖子 princelai » 2009-05-05 3:06

晚上无聊想看看现实中中500W的几率,于是用新学的python做个程序,遇到错误

代码: 全选

[kevin@kevin core-python]$ python lottery.py 
Traceback (most recent call last):
  File "lottery.py", line 31, in <module>
    while len(curball) < 6:
NameError: name 'curball' is not defined

以下是程序代码

代码: 全选

#!/usr/bin/env python

import random

count = 0
curball = []
myball = []

def generate_normal_ball():
	normal_ball = random.randint(1,34)
	return normal_ball

def generate_blue_ball():
	blue_ball = random.randint(1,17)
	return blue_ball


#initial my ball
while len(myball) < 6:
	ball = generate_normal_ball() 
	if ball not in myball:
		myball.append(ball)

myball = sorted(myball)
myball.append(generate_blue_ball())


while myball != curball:
	del curball
	#begin to initial currentball
	while len(curball) < 6:
		ball = generate_normal_ball()
		if ball not in curball:
			curball.append(ball)
	curball = sorted(curball)
	curball.append(generate_blue_ball())
	#End
	count += 1
	print count
头像
libralibra
帖子: 401
注册时间: 2008-02-23 17:31
联系:

Re: python程序NameError,求助

#2

帖子 libralibra » 2009-05-05 4:18

说了啊,第31行,你前面del curball了,curball没了,while len(curball) < 6:肯定出变量未定义错误.

代码: 全选

把
del curball
改成
curball = []
My Blog: matlab, ubuntu, python
http://goo.gl/GDIO
头像
princelai
帖子: 920
注册时间: 2007-01-06 21:00
联系:

Re: python程序NameError,求助

#3

帖子 princelai » 2009-05-05 16:57

libralibra 写了:说了啊,第31行,你前面del curball了,curball没了,while len(curball) < 6:肯定出变量未定义错误.

代码: 全选

把
del curball
改成
curball = []
改了,不行阿,是这句有问题

代码: 全选

while len(curball) < 6:
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: python程序NameError,求助

#4

帖子 xiooli » 2009-05-05 17:16

2740960 次了,还没有中奖。。。
头像
princelai
帖子: 920
注册时间: 2007-01-06 21:00
联系:

Re: python程序NameError,求助

#5

帖子 princelai » 2009-05-05 22:49

xiooli 写了:2740960 次了,还没有中奖。。。
为什么你能运行……我怎么不行阿,疯了 :em20
头像
libralibra
帖子: 401
注册时间: 2008-02-23 17:31
联系:

Re: python程序NameError,求助

#6

帖子 libralibra » 2009-05-09 17:20

你按我说的,把del curball那句改成curball=[]肯定能运行
我运行了的,跟死循环一样,一直在计算中
我推出了直接.改法肯定没错
My Blog: matlab, ubuntu, python
http://goo.gl/GDIO
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: python程序NameError,求助

#7

帖子 tusooa » 2009-11-07 8:23

代码: 全选

while myball != curball:
   del curball
   #begin to initial currentball
   while len(curball) < 6:
        # Something
已经把curball删掉了,后面还len它

代码: 全选

] ls -ld //
回复