簡體   English   中英

有關Python腳本的問題!

[英]A question about Python script!

m = raw_input("Please enter a date(format:mm/dd/yyyy): ")
def main():
    if '01' in m:
        n = m.replace('01','Janauary')
        print n
    elif '02' in m:
        n = m.replace('02','February')
        print n
    elif '03' in m:
        n = m.replace('03','March')
        print n
    elif '04' in m:
        n = m.replace('04','April')
        print n
    elif '05' in m:
        n = m.replace('05','May')
        print n
    elif '06' in m:
        n = m.replace('06','June')
        print n
    elif '07' in m:
        n = m.replace('07','July')
        print n
    elif '08' in m:
        n = m.replace('08','August')
        print n
    elif '09' in m:
        n = m.replace('09','September')
        print n
    elif '10' in m:
        n = m.replace('10','October')
        print n
    elif '11' in m:
        n = m.replace('11','November')
        print n
    elif '12' in m:
        n = m.replace('12','December')
        print n

main()

例如,此scrpt可以將01/29/1991輸出到January / 29/1991,但是我希望將其輸出到1991年1月29日。 如何將“ /”替換為“”?

請不要這樣做。 這已經是錯誤的,如果不進行大量工作就無法解決。 使用datetime.strptime()將其轉換為datetime ,然后使用datetime.strftime()將其以正確的格式輸出。

利用datetime模塊:

m = raw_input('Please enter a date(format:mm/dd/yyyy)')

# First convert to a datetime object
dt = datetime.strptime(m, '%m/%d/%Y')

# Then print it out how you want it
print dt.strftime('%B,%d,%Y')

就像您替換所有其他字符串一樣replace('/',',')

您可能會在這里找到一本字典。 這將是“更簡單的”。 您可以嘗試以下操作。

m = raw_input("Please enter a date(format:mm/dd/yyyy): ")
month_dict = {"01" : "January", "02" : "February", "03" : "March", ...}
# then when printing you could do the following
date_list = m.split("/") # This gives you a list like ["01", "21", "2010"]
print(month_dict[date_list[0]] + "," + date_list[1] + "," + date_list[2]

基本上,用4行代碼即可獲得相同的結果。

我只是更緊湊地重寫了您的代碼:

m = '01/15/2001'
d = {'01' : 'Jan', '02' : 'Feb'}

for key, value in d.items():
   if key in m:
       m = m.replace(key, value)

暫無
暫無

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

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