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)
Eu começo o programa e "Personal information, journal and more to come"
mostra, mas quando eu digito Personal information
ou journal neither
deles imprimem o resultado e eu não estou recebendo nenhum erro.
Respostas:
4 para resposta № 1quando eu digito informação pessoal ou revista
Bem, sim. Não está esperando nenhum deles, seu caso está errado.
Para realizar uma comparação sem distinção entre maiúsculas e minúsculas, converta ambos para o mesmo caso primeiro.
if foo.lower() == bar.lower():
0 para resposta № 2
Funciona para mim. Você está escrevendo "Informações Pessoais" com uma maiúscula?
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)
saída:
[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: ~$]
Talvez seja a formatação que eu estou usando 4 espaços em branco.
0 para resposta № 3
Você está digitando informações pessoais, quando a instrução if está esperando informações pessoais (com um I maiúsculo para informações).
O que você pode fazer (o que Ignacio acima está iludindo) é:
if x.lower() == ("Personal Information").lower():
ao invés de:
if x == ("Personal Information"):
então qualquer caso, "Informações pessoais", "pessoalinformation "," infoRmation personal ", e assim por diante, corresponderão e entrarão na instrução if. A razão pela qual isso funciona é porque quando isso é executado, ele assume o valor de xe o transforma em uma string minúscula e a string" Informações pessoais "e torná-lo uma seqüência de caracteres minúscula, então agora, não importa o que o caso era originalmente, ambos serão minúsculos quando comparando.
foo e bar são exemplos, programação comumnomenclatura na programação. É apenas um exemplo de qualquer variável, x, y, z, etc, poderia ter sido usado com a mesma facilidade, mas foo e bar são apenas variáveis comuns para se referir.