我正在学习一本书“Intr.Python 2.6.6”和 我在示例中有这个错误
line 12, in <module>
aux=num_ele
NameError: name "num_ele" is not defined
但我不明白这个问题
# -*- coding:utf-8 *-*
import random
import os
def combinacion(num_ele, total_num, repetir=False, ordenar_resultado=True):
elementos=[]
if num_ele>total_num and not repetir:
print ("No puedes sacar mas valores de los que ya tienes!")
return
aux=num_ele
while aux>0:
numero = int(random.uniform(1,total_num))
if repetir:
elementos.append(numero)
aux=aux-1
else:
if elementos.count(numero)==0:
elementos.append(numero)
aux=aux-1
if ordenar_resultado:
elementos.sort()
print (elementos)
def menu():
print ("""
Menu Principal
Este programa genera combinaciones de juegos de azar. elige el juegos
que mas te guste.
1) Loteria Primitiva
2) Euromillones
9) Salir
""")
opcion = input("")
return opcion
def aplicacion():
os.system(cls)
opcion = ("")
while opcion!=("9"):
opcion = menu()
if opcion ==("1"):
print ("")
print ("Combinacion para loteria primitiva: ")
combinacion(6,49)
print ("")
if opcion == ("2"):
print ("")
print ("Euromillones")
print ("Combinacion ganadora: ")
combinacion(5,50)
print ("Estrellas: ")
combinacion(2,9)
print ("")
aplicacion()
谢谢你的时间。
答案 0 :(得分:3)
我假设你的aux=num_ele
函数中有combination
和代码:
# -*- coding:utf-8 *-*
import random
import os
def combinacion(num_ele, total_num, repetir=False, ordenar_resultado=True):
elementos=[]
if num_ele>total_num and not repetir:
print ("No puedes sacar mas valores de los que ya tienes!")
return
aux=num_ele
while aux>0:
numero = int(random.uniform(1,total_num))
if repetir:
elementos.append(numero)
aux=aux-1
else:
if elementos.count(numero)==0:
elementos.append(numero)
aux=aux-1
if ordenar_resultado:
elementos.sort()
print (elementos)
def menu():
print ("""
Menu Principal
Este programa genera combinaciones de juegos de azar. elige el juegos
que mas te guste.
1) Loteria Primitiva
2) Euromillones
9) Salir
""")
aux=num_ele
的缩进级别以及以下代码将其置于combination
的范围之外。