Python 字符串比较似乎不起作用

标签 python string comparison

首先,我从文本文件中提取分配给 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:]

那么剩下的就应该可以工作了。

关于Python 字符串比较似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521336/

相关文章:

python - 为什么对于 Euler 50 的等效解决方案,Clojure 比 Python 慢 10 倍?

python - 是否有处理分号的 parse_qs 的替代方法?

javascript - 记录属性不呈现为字符串

python - zip、排序和 Pandas

c - 字符串正在打印奇怪的字符 - lex 中的 c 代码

string - 在字符串中搜索一组分隔符中的第一个分隔符的有效方法是什么?

sql-server - T-SQL : How can I compare two variables of type XML when length > VarChar(MAX)?

java - 比较两个 XML

python - 使用间接架构更改更新 BigQuery View

python - 为什么我无法获取数据库lastrowid?