On 2016-07-22 14:59, Zagyen Leo wrote:
yeah, it may be quite simple to you experts, but hard to me.
In one of exercises from the Tutorial it said: "Write a program that asks the user their name, if they enter your name
say "That is a nice name", if they enter "John Cleese" or "Michael Palin", tell them how you
feel about them ;), otherwise tell them "You have a nice name."
And i write so:
name = input("Enter your name here: ")
if name == "John Cleese" or "Michael Palin":
print("Sounds like a gentleman.")
else:
print("You have a nice name.")
But strangely whatever I type in (e.g. Santa Claus), it always say "Sounds like a
gentleman.", not the result I want.
This bit:
name == "John Cleese" or "Michael Palin"
means the same as:
(name == "John Cleese") or "Michael Palin"
If name is "Santa Claus", that's:
"Santa Claus" == "John Cleese" or "Michael Palin"
which is:
False or "Michael Palin"
which is:
"Michael Palin"
and any string except "" is treated as True.
The condition should be:
name == "John Cleese" or name == "Michael Palin"
(Shorter alternatives are available; you'll learn about them later!)
--
https://mail.python.org/mailman/listinfo/python-list