2016-11-02 21 views
0

私はプログラミング/スクリプティングについて一般的ではなく、python2.7の動作の基本を理解しています。とにかく、私はランダムに文字、数字、特殊文字で構成されるパスワードを生成するために取り組んでいるスクリプトをここに持っています。これは愚かな質問のように思えるが、私は:(すべての後にこれに新しいです場合、私は上記のスクリプトを実行すると。私は何も出力だけでなく、何を知らない私が得られていないエラーメッセージが表示されていない言い訳をしてくださいPythonスクリプトは動作しませんが、エラーメッセージは表示されません

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() 

一体間違っているイム

+2

ここで 'generate_password()'を使っていますか? – Alfabravo

+2

インデントを修正してください。 –

+1

'main'は整数値' 4'に対して 'length'という名前を宣言します。それは出力を生成しません。 –

答えて

4

をあなたのmain()関数は何もしない、ので、それはだ、次のように変更します!。

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

    # boilerplate 
if __name__ == '__main__': 
    main() 
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() 

最初にあなたはそれがあったかもしれません(任意のインデントを持っていませんでした警官yとペーストの問題)。次にgenerate_passwordを呼び出すことはありませんでした。何もしなかったので、長さを4に設定しました。

関連する問題