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)
我启动该计划并"Personal information, journal and more to come"
显示,但当我输入Personal information
或journal neither
时,打印结果并且我没有收到任何错误。
答案 0 :(得分:4)
嗯,是的。它没有预料到这两者;你的情况是错的。当我输入个人信息或期刊
时
要执行不区分大小写的比较,请先将两者转换为相同的大小写。
if foo.lower() == bar.lower():
答案 1 :(得分:0)
适合我。你是用资本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)
输出:
[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: ~$]
也许是格式化?我正在使用4个白色空间。
答案 2 :(得分:0)
您正在输入个人信息,当if语句需要个人信息时(以大写字母I获取信息)。
你可以做什么(上面的伊格纳西奥躲避的是):
if x.lower() == ("Personal Information").lower():
而不是:
if x == ("Personal Information"):
然后任何情况下,“个人信息”,“个人信息”,“personAL infoRmation”等将匹配并进入if语句。这个工作的原因是因为当它执行时,它将取x的值,并使其成为小写字符串,并使字符串“个人信息”并使其成为小写字符串,所以现在无论原来是什么情况,他们比较时两者都是小写的。
foo和bar是示例,编程中常见的编程命名法。它只是一个例子,任何变量,x,y,z等都可以很容易地使用,但foo和bar只是常用变量引用。