【发布时间】:2019-05-04 15:28:13
【问题描述】:
我正在使用一个函数来创建用户名和另一个函数来创建密码。第二个函数没有运行,因为它告诉我“NameError: name 'list_two' is not defined”。这是我的代码:
import random
import openpyxl
path = "E:\\Desktop\\"
wb = openpyxl.load_workbook('excel.xlsx')
sheet = wb.active
def name_generator():
usernames = list()
for username in range (0, 34):
color = ["Red", "Green", "Blue", "White", "Black", "Yellow", "Purple", "Orange", "Pink"]
animal = ["Cat", "Dog", "Snake", "Mouse", "Tiger", "Leopard", "Moose", "Wolf", "Bear"]
number = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20"]
randomColor = random.randrange(0, len(color))
randomAnimal = random.randrange(0, len(animal))
randomNumber = random.randrange(0, len(number))
username = "Username: " + color[randomColor] + animal[randomAnimal] + number[randomNumber]
usernames.append(username)
return usernames
list = name_generator()
for i in range(1,34):
cellref = sheet.cell(row=i, column=5)
cellref.value=list[i]
def password_generator():
passwords = list_two()
for password in range (0, 34):
color = ["Red", "Green", "Blue", "White", "Black", "Yellow", "Purple", "Orange", "Pink"]
animal = ["Cat", "Dog", "Snake", "Mouse", "Tiger", "Leopard", "Moose", "Wolf", "Bear"]
number = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "20"]
randomColor = random.randrange(0, len(color))
randomAnimal = random.randrange(0, len(animal))
randomNumber = random.randrange(0, len(number))
password = "Password: " + color[randomColor] + animal[randomAnimal] + number[randomNumber]
passwords.append(password)
return passwords
list_two = password_generator()
for i in range(1,34):
cellref = sheet.cell(row=i, column=6)
cellref.value=list_two[i]
wb.save('excel_mod.xlsx')
input("Done")
我不太确定问题出在哪里。为什么它适用于第一个功能而不适用于第二个功能?我尝试了不同的 shell,但它给了我同样的错误,所以我猜测代码在某种程度上是错误的。
【问题讨论】:
-
请不要一次又一次地发布相同的问题,最好根据收到的反馈更新问题。