/ / Сценарій Python не працює, але не дає повідомлення про помилку - python

Сценарій Python не працює, але не повідомляє про помилку - python

Я новачок в програмуванні / сценаріях взагалі іякраз став розуміти основи роботи python2.7. У будь-якому випадку у мене є сценарій, над яким я працював, щоб випадково генерувати пароль, що складається з літер, цифр та спеціальних символів.

import random

charset="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
charset+=charset.lower()   # adds lowercase a-z to charset
charset+="@&%_$#" # adds these special characters to the charset
charset+="1234567890" # adds digits 0-9 to charset

def generate_password(length):
"""generates random password"""
password=[]
for n in range(length):
password.append(random.choice(charset))
print password
return password

def main():
# test cases
length = 4

# boilerplate
if __name__ == "__main__":
main()

Вибачте, якщо це здається дурнимпитання, але я новачок у цьому врешті :(. Коли я запускаю вищевказаний скрипт, я не отримую виводу, а також жодного повідомлення про помилку, в результаті чого я не знаю, що, до чорта, їм робити неправильно!

Відповіді:

4 для відповіді № 1

Це тому, що ваша основна () функція нічого не робить. Змініть її наступним чином:

def main():
# test cases
length = 4
#
print generate_password(length)

# boilerplate
if __name__ == "__main__":
main()

2 для відповіді № 2
import random

charset="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
charset+=charset.lower()   # adds lowercase a-z to charset
charset+="@&%_$#" # adds these special characters to the charset
charset+="1234567890" # adds digits 0-9 to charset

def generate_password(length):

password=[]
for n in range(length):
password.append(random.choice(charset))

print password
return password

def main():
length = 4
generate_password(length)


if __name__ == "__main__":
main()

спочатку у вас не було жодних відступів (це могло бути проблемою копіювання та вставки). Тоді ви ніколи не викликали generator_password, тому він ніколи не зробив би нічого, крім встановленої довжини в 4.