簡體   English   中英

如何比較python中的復雜字符串?

[英]How can I compare complex strings in python?

我抓取了一個有土耳其月份的網站,並編寫了代碼將其轉換為公歷月份; 但它不起作用。 如何比較這樣的復雜字符串?

if month=="Kasım":
    #tested
    #return "November"
    return 11
if month=="Aralık":
    #tested
    return 12
    #return "December"
if month=="Ekim":
    return 10
    #return "October"
if month=="Eylül":
    return 9
    #return "September"
if month=="Ağustos":
    return 8
    #return "August"
if month=="Temmuz":
    return 7
    #return "July"
if month=="haziran":
    return 6
    #return "June"
if month=="mayıs":
    return 5
    #return "May"
if month=="nisan":
    return 4
    #return "April"
if month=="mart":
    return 3
    #return "March"
if month=="şubat":
    return 2
    #return "February"
if month=="Ocak":
    return 1
    #return "January"

我從抓取的站點復制了字符串,但我的轉換器總是返回函數中第一個if的結果; 例如:它總是返回 11。有沒有另一種方法來比較它們?

如果你把它做成字典,你就可以直接訪問它。

turkish_months = {
    "Kasım": 11, # "November"
    "Aralık": 12, # "December"
    "Ekim": 10, # "October"
    "Eylül": 9, # "September"
    "Ağustos": 8, # August"
    "Temmuz": 7, # "July"
    "haziran": 6, # "June"
    "mayıs": 5, # "May"
    "nisan": 4, # "April"
    "mart": 3, # "March"
    "şubat": 2, # "February"
    "Ocak": 1 # "January"
}

然后訪問它:

current_month = "Ekim"
turkish_months[current_month]

如果您的代碼總是返回 11:我懷疑問題不在於您的轉換,而在於您嘗試轉換的數據。 您很可能一次又一次地嘗試轉換相同的數據,但認為它不一樣。 在嘗試轉換之前嘗試打印進入轉換器的數據,以確保它正常工作,然后刪除打印件。

暫無
暫無

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

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