/ / If et elif n'impriment pas - python, impression, if-statement

Si et elif n'impriment pas - python, impression, if-statement

print"Personal information, journal and more to come"
x = raw_input()
if x ==("Personal Information"): # wont print
print" Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN:  , SS:"
elif x ==("Journal"):  # wont print
read = open("C:\python\foo.txt" , "r")
name = read.readline()
print (name)

Je commence le programme et "Personal information, journal and more to come" montre mais quand je tape soit Personal information ou journal neither d’imprimer le résultat et je ne reçois aucune erreur.

Réponses:

4 pour la réponse № 1

quand je tape soit des informations personnelles ou journal

Ben ouais. Il n’attend ni l’un ni l’autre, votre cas est faux.

Pour effectuer une comparaison insensible à la casse, convertissez les deux en même temps.

if foo.lower() == bar.lower():

0 pour la réponse № 2

Travaille pour moi. Vous écrivez "informations personnelles" avec un capital I?

print"Personal information, journal and more to come"
x = raw_input()
if x == ("Personal Information"): # wont print
print" Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN:  , SS:"
elif x ==("Journal"):  # wont print
read = open("C:\python\foo.txt" , "r")
name = read.readline()
print (name)

sortie:

[00:20: ~$] python py
Personal information, journal and more to come
Journal
Traceback (most recent call last):
File "py", line 8, in <module>
read = open("C:\python\foo.txt" , "r")
IOError: [Errno 2] No such file or directory: "C:\python\foo.txt"
[00:20: ~$] python py
Personal information, journal and more to come
Personal Information
Edward , Height: 5,10 , EYES: brown , STATE: IL TOWN:  , SS:
[00:20: ~$]

C’est peut-être "le formatage? Je" utilise 4 espaces blancs.


0 pour la réponse № 3

Vous entrez des informations personnelles lorsque la déclaration if attend des informations personnelles (avec une majuscule I pour information).

Ce que vous pouvez faire (ce que Ignacio ci-dessus élude) est de faire:

if x.lower() == ("Personal Information").lower():

au lieu de:

if x == ("Personal Information"):

puis tout cas, "informations personnelles", "personnelinformation "," personAL infoRmation ", etc., correspondra et entrera dans l'instruction if. La raison pour laquelle cela fonctionne est que, lorsque cela s'exécute, il prend la valeur de x et en fait une chaîne en minuscule, ainsi que la chaîne" Informations personnelles "et en faire une chaîne en minuscule. Désormais, quel que soit le cas à l'origine, les deux seront en minuscule lors de la comparaison.

foo et bar sont des exemples, programmation courantenomenclature en programmation. Il s’agit simplement d’un exemple de variable; x, y, z, etc. auraient pu être utilisés aussi facilement, mais foo et bar ne sont que des variables courantes.