Python 字符串比较似乎不起作用
Python string comparison doesn't seem to be working
首先,我从一个文本文件中提取一个分配给 clientID 的强度,一旦我有了那个强度,我就将它存储为 clientIntensityResult,然后根据它是等于高还是中等,它应该打印出相应的列表,但是我在if语句中的比较似乎不起作用?我已将其更改为 x = 1, if x == 1: 并且可行,但我在此字符串比较中缺少某些内容?
def clientSelect():
clientIntensity = open("clientIntensity.txt", "r") #opens file
high = ["Running", "Swimming", "Aerobics", "Football", "Tennis"]
moderate = ["Walking", "Hiking", "Cleaning", "Skateboarding", "Basketball"]
searchId = input("Please enter a clientID (ffsss): ") #search string
for line in clientIntensity:
if re.match(searchId, line):
clientIntensityResult = (line[6:])
print ("Client intensity is: ", clientIntensityResult)
if clientIntensityResult == "High":
print (high)
elif clientIntensityResult == "Moderate":
print (moderate)
else:
print ("Nothing found")
您将变量定义为
clientIntensityResult = (line[6:])
由于您是逐行迭代,因此每个字符串的末尾都会有一个 '\n'
。你可以做
clientIntensityResult = line.strip()[6:]
然后剩下的应该工作。
首先,我从一个文本文件中提取一个分配给 clientID 的强度,一旦我有了那个强度,我就将它存储为 clientIntensityResult,然后根据它是等于高还是中等,它应该打印出相应的列表,但是我在if语句中的比较似乎不起作用?我已将其更改为 x = 1, if x == 1: 并且可行,但我在此字符串比较中缺少某些内容?
def clientSelect():
clientIntensity = open("clientIntensity.txt", "r") #opens file
high = ["Running", "Swimming", "Aerobics", "Football", "Tennis"]
moderate = ["Walking", "Hiking", "Cleaning", "Skateboarding", "Basketball"]
searchId = input("Please enter a clientID (ffsss): ") #search string
for line in clientIntensity:
if re.match(searchId, line):
clientIntensityResult = (line[6:])
print ("Client intensity is: ", clientIntensityResult)
if clientIntensityResult == "High":
print (high)
elif clientIntensityResult == "Moderate":
print (moderate)
else:
print ("Nothing found")
您将变量定义为
clientIntensityResult = (line[6:])
由于您是逐行迭代,因此每个字符串的末尾都会有一个 '\n'
。你可以做
clientIntensityResult = line.strip()[6:]
然后剩下的应该工作。