试图在python中比较两个字符串

时间:2018-11-18 22:51:10

标签: python

我什至使用print语句检查y.name和收藏夹是否相同,但是使用

时它们仍然没有输入if语句。
if y.name == favourite 

if favourite ==y.name

我对此感到非常困惑,因为我认为这只是一个标准的相等性检查(代码的开头大部分是设置好的,只是在上下文存在问题的情况下才包含在上下文中) if语句)。预先谢谢你!

class Anime(object):
    name: str = ""
    year_aired = 0
    genre1: str = ""

    def __init__(self, name, genre1, year_aired):
        self.name = name
        self.genre1 = genre1
        self.year_aired = year_aired


def _make_anime(name, genre1, year_aired):
    anime = Anime()
    return anime


animelist = input("Please enter a file with a list of anime\n")
animel = open(animelist, "r")
nolines = animel.readlines()
animearr = []
numanime = -1
for i in nolines:
    if i.find("*") != -1:
        animearr[numanime].genre1 = i
    else:
        k = Anime("","", 2018)
        k.name = i
        animearr.append(k)
        numanime += 1
favourite = input("Please enter your favourite anime\n")
favgenre = ""
for y in animearr:
    if y.name == favourite:
        favgenre = y.genre1
print(favgenre)

1 个答案:

答案 0 :(得分:0)

我认为您应该在比较两个字符串之前添加strip。(“ \ n”)。

class Anime(object):
    name: str = ""
    year_aired = 0
    genre1: str = ""

    def __init__(self, name, genre1, year_aired):
        self.name = name
        self.genre1 = genre1
        self.year_aired = year_aired


def _make_anime(name, genre1, year_aired):
    anime = Anime()
    return anime


animelist = input("Please enter a file with a list of anime\n")
animel = open(animelist, "r")
nolines = animel.readlines()
animearr = []
numanime = -1
for i in nolines:
    if i.find("*") != -1:
        animearr[numanime].genre1 = i
    else:
        k = Anime("","", 2018)
        k.name = i
        animearr.append(k)
        numanime += 1
favourite = input("Please enter your favourite anime\n")
favgenre = ""
for y in animearr:
    if y.name == favourite.strip("\n"):

        favgenre = y.genre1
print(favgenre)