Help please, why doesn't it show the next input?
William Bryant
gogobebe2 at gmail.com
Wed Sep 11 01:39:01 EDT 2013
On Wednesday, September 11, 2013 5:11:23 PM UTC+12, John Gordon wrote:
> In <ef8de6db-5f35-4d07-8306-bcec47b1e69b at googlegroups.com> William Bryant <gogobebe2 at gmail.com> writes:
>
>
>
> > Hey, I am very new to python, I am 13 years old. I want to be able to make =
>
> > a program the caculates the mean, meadian and mode. When i run the program,=
>
> > an input field pops up and says 'Does your list contain, a number or a str=
>
> > ing?' like I want it to, but when I type in something that is not one of va=
>
> > lid field options: "String" or "string" or "STRING" or "s" or "S" or "str" =
>
> > or "Number" or "number" or "NUMBER" or "N" or "N" or "int" or "num", nothin=
>
> > g happens, please tell me what I did wrong. Thanks :D Here is my code:
>
>
>
> > #----- Variables that I am using, including the list. --=
>
> > ---#
>
>
>
> > #False means num
>
> > #True means string
>
> > num_or_string =3D ""
>
> > amount_numbers =3D []
>
> > List =3D []
>
> > I =3D "Does your list contain, a number or a string?"
>
>
>
> > #----- Functions that I am using. -=
>
> > ----#
>
> > input(I)
>
>
>
> > def NOS():
>
> > if I =3D=3D "String" or "string" or "STRING" or "s" or "S" or "str":
>
> > pass
>
> > elif I =3D=3D "Number" or "number" or "NUMBER" or "N" or "N" or "int" o=
>
> > r "num":
>
> > pass
>
> > else:
>
> > global I
>
> > I =3D "You did not enter a valid field, :P Sorry."
>
> > input(I)
>
>
>
> First of all, you haven't given us your whole program. I know this because
>
> while you've defined the NOS function, it isn't actually called anywhere.
>
> You must have left that part out.
>
>
>
> Anyway, I think you're doing two things wrong:
>
>
>
> 1. You aren't capturing the user's input. The input() function returns
>
> the user's input, but you aren't assigning this to a variable; it's just
>
> being thrown away. You should call input() like this:
>
>
>
> user_input = input(I)
>
>
>
> (Also, it would probably be clearer to use a name like "prompt" instead
>
> of "I".)
>
>
>
> 2. You aren't using the compound "if" statement correctly. You can't
>
> do this (well, you CAN, but it won't do what you want):
>
>
>
> if a == 1 or 2 or 3:
>
>
>
> You should fully spell out each condition, like this:
>
>
>
> if a == 1 or a == 2 or a == 3:
>
>
>
> --
>
> John Gordon A is for Amy, who fell down the stairs
>
> gordon at panix.com B is for Basil, assaulted by bears
>
> -- Edward Gorey, "The Gashlycrumb Tinies"
Thanks so much for putting your time into helping me!! It worked! Could you tell me if I did anything wrong this time? :)
#----- Variables that I am using, including the list. -----#
num_or_string = ""
amount_numbers = []
List = []
prompt = "Does your list contain, a number or a string?"
#----- Functions that I am using. -----#
user_input1 = input(prompt)
user_input1
def NOS():
if user_input1 == "String" or user_input1 == "string" or user_input1 == "STRING" or user_input1 == "s" or user_input1 == "S" or user_input1 == "str":
print("a")
elif user_input1 == "Number" or user_input1 == "number" or user_input1 == "NUMBER" or user_input1 == "N" or user_input1 == "N" or user_input1 == "int" or user_input1 == "num":
print("a")
else:
global user_input2
global prompt
prompt = "You did not enter a valid field, :P Sorry."
user_input2 = input(prompt)
user_input2
NOS2()
def NOS2():
if user_input2 == "String" or user_input2 == "string" or user_input2 == "STRING" or user_input2 == "s" or user_input2 == "S" or user_input2 == "str":
print("a")
elif user_input2 == "Number" or user_input2 == "number" or user_input2 == "NUMBER" or user_input2 == "N" or user_input2 == "N" or user_input2 == "int" or user_input2 == "num":
print("a")
else:
global user_input2
global prompt
prompt = "You did not enter a valid field, :P Sorry."
user_input2 = input(prompt)
user_input2
NOS2()
NOS()
More information about the Python-list
mailing list