On Tue, Sep 18, 2012 at 1:23 PM, Scott Yamamoto <scott.yamam...@yahoo.com> wrote: > > 1) expect: raw_input to assign the variable to "" > 2)No output to stderr; has a loading symbol after hitting enter without input > (tried both input and raw_input) > Doesn't affect active interpreter. Only affects the screen with the run > option. > 3)
Except for a bug your code worked for me in Python 2.7.3. > def simulation(): > import random > from random import randrange > from time import sleep You're not using randrange, plus you should move the imports to the top of your module. > gender = raw_input("Gender: male/female \n") > if gender != "male" or "female": > gender = "male" This is the bug. You have the test expression "expr1 or expr2" where expr1 is "gender != male" and expr2 is "female". A non-empty string is always True by definition, so your test amounts to "expr1 or True", which means the "if" block always executes. > Mlist = ["Jacob", "Mason", "William", ...] > Flist = ["Sophia", "Isabella", "Emma", ...] > Llist = ["Smith", "Johnson", "Williams", ...] Consider moving these lists out of the function. They can all go nicely in a dict, which you can set as a default argument. > username = raw_input("Input your full name: \n") > if username == "": > if gender == "male": > username = random.choice(Mlist) + " " + random.choice(Llist) > else: > username = random.choice(Flist) + " " + random.choice(Llist) Using a dict for the names eliminates the need to test gender here. For example: import random import time names = { "male": [ "Jacob", "Mason", "William", "Jayden", "Noah", "Michael", "Ethan", "Alexander", "Aiden", "Daniel", "Anthony", "Matthew", "Elijah", "Joshua", "Liam", "Andrew", "James", "David", "Benjamin", "Logan", ], "female": [ "Sophia", "Isabella", "Emma", "Olivia", "Ava", "Emily", "Abigail", "Madison", "Mia", "Chloe", "Elizabeth", "Ella", "Addison", "Natalie", "Lily", "Grace", "Samantha", "Avery", "Sofia", "Aubrey", ], "last": [ "Smith", "Johnson", "Williams", "Jones", "Brown", "Pavis", "Miller", "Wilson", "Moore", "Taylor", "Anderson", "Thomas", "Jackson", "White", "Harris", "Martin", "Thompson", "Garcia", "Martinez", "Robinson", ], } def simulation(names=names): print "Welcome to The World." time.sleep(1) print "Now Loading..." time.sleep(1.5) # Intro page gender = raw_input("\nGender [male|female]:\n").strip() if gender not in ("male", "female"): gender = "male" username = raw_input("Input your full name:\n") if not username: username = " ".join( random.choice(n) for n in (names[gender], names["last"])) print "\nUsername: %s. Gender: %s." % (username, gender) _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor