簡體   English   中英

試圖在python中比較兩個字符串

[英]Trying to compare two strings in 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)

我認為您應該在比較兩個字符串之前添加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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM