> Firstly thanks everyone for the help, I definitely learned something.
> The current version of Python I'm using is actually version 3, sorry for not > specifying that earlier. > I ended up going with Alan's suggestion and created the below code which > works perfectly fine. > I however would like to add in another line that tells the user their account > is invalid > before looping around and asking them to re enter their account. > > userAccount = '' > while len (userAccount) !=8: > userAccount = input ("Please Input Your Account Number:") > userAccountNumber = int(userAccount) > > > As for users typing in a name like "Charlie" or a float I would like that to > spit out > an error also, but I haven't learned how to accomplish that yet. > > Thanks again. ---------------------------------------- > Date: Wed, 14 May 2014 16:16:45 -0400 > From: d...@davea.name > To: tutor@python.org > Subject: Re: [Tutor] While Loop? > > On 05/14/2014 05:45 AM, Sam Ball wrote: >> I'm attempting to create a program where the user inputs their account >> number (which must be 8 digits) and if what the user enters is not 8 digits >> in length I want python to tell the user this is invalid and then keep >> asking for the account number until a suitable number has been entered. >> I'm guessing it's a sort of while loop but I'm not 100% sure as I'm quite >> new to Python. >> > > Welcome to Python, and to the Tutor mailing list. Please post in text > form, as the html you're now using is quite error prone, especially > since this is a text list. There's no errors I can see with your > present message, but it's a good habit to learn early - tell your email > program to use "plain text". > > Next, it's very important to specify what version of Python you're > using. In particular there are differences between Python version 2.x > and version 3.x And those differences affect the input statement. > > From your print syntax, it appears you're aiming at Python 2.x But > it's not valid there either, so it's better if you be explicit in your > question. > > >> So far I have... >> >> >> >> >> userAccountNumber = eval(input("Please Input Your Account Number:")) > > Since I'm asssuming Python 2.x, you want int(raw_input( instead. > input() in 2.x is a security mistake, and eval() is for either version > of Python. > > >> while userAccountNumber> 100000000 or <=9999999: > > Syntax error, as you've discovered. Alan has told you how to fix it. > But it would be much better to get in the habit of quoting the entire > error message (it's called a traceback) instead of paraphrasing it. > >> print userAccountNumber ("Invalid Account Number! Account Must Be Eight >> Digits") > > Once you've fixed the above, you'll get an error on this line. But how > to fix it depends on what Python version you're using. > userAccountNumber isn't a function, so why are you trying to call it? > > Next problem is that your loop doesn't ask the user again, it just loops > around trying to print its error message. >> >> >> >> When I run this however it gives me an invalid syntax and highlights the = >> in <=9999999: >> >> Would appreciate any help with sorting this out. >> > > Once you've gone as far as you can get with these suggestions from Alan, > Danny, and me, be sure and use reply-list to post your next revision and > query. (Or, if your email program doesn't support that, use Reply-All, > and remove from the header everyone you don't want to get the response). > And of course, you'll tell us what version of Python you're > taqrgeting. In particular, keep the tutor@python.org recipient. > > Once your program works, you need to consider other things, possible > bugs. For example, what happends if a user types "charlie" instead of > a number? Or if they type a floating point value? What would you like > to happen? > > -- > DaveA > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor