我刮了一个有土耳其月的网站,并编写了将其转换成公历月的代码; 但这不起作用。 如何比较像这样的复杂字符串?
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。
还有另一种比较方式吗?
答案 0 :(得分:1)
如果将其制成字典,则可以直接访问它。
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:我怀疑问题不在于转换,而在于您尝试转换的数据。您很有可能试图一次又一次地转换相同的数据,但是认为它们是不同的。在尝试转换之前,请尝试打印进入转换器的数据,这样可以确保其正常工作,然后移除打印件。