2014-10-11 38 views
-6

我需要編寫一個函數,它需要四個參數:日期,月份和年份作爲數字。星期必須是下列之一:MTWRFSU並將此日期轉換爲可讀的字符串。 輸出應該是這樣的:編寫一個帶有下面列出的四個參數的函數。 Python

進入天:28 輸入月份:9 輸入年份日期:2014 輸入平日:U 日期爲:星期日,9月28,2014。

到目前爲止,我的代碼看起來像這樣,我很爲難任何人都可以幫助一般的程序員了?:

#FUNCTION THAT TAKES 4 ARGUMENTS. 
day = int(input('Enter day: ')) 
month = int(input('Enter month: ')) 
year = int(input('Enter year:')) 
weekday = str(input('Enter weekday: ')) #MTWRFSU 

    def total(): 
     day = int(input('Enter day: ')) 


     if day >= 32: 
      month = int(input('Enter month: ')) 
     else: 
      print('Please enter a valid day for a month. Numbers 1 through 31.') 


     if month >= 12: 
      year = int(input('Enter Year: ')) 
     else: 
      print('Please enter a valid month: ') 











    total() 
+1

您需要提出具體問題。這也看起來像功課,所以你會因此而陷入低調。 – Celeo 2014-10-11 23:28:45

+0

什麼是MTWRFSU? – 2014-10-11 23:31:47

+0

@PadraicCunningham週一,週二等 – keyser 2014-10-11 23:47:22

回答

-1
import datetime 

def total(day, month, year): 
    date = datetime.date(year, month, day) 
    return '{0:%A}, {0:%B} {0:%d}, {0:%Y}'.format(date) 

day = int(raw_input("Please enter the day (1-31)")) 
month = int(raw_input("Please enter the month (1-12)")) 
year = int(raw_input("Please enter the year")) 
print total(day, month, year) 

這將使用Python的datetime模塊來處理日期。返回行使用字符串格式,其中{0:?}引用.format()中的第一個(唯一)內容,然後適當地格式化它(月,日和年)

另外,不要在python 2.x中使用輸入如果這是python 3.x然後繼續)

您可能會注意到,我只使用3個輸入 - 這是因爲日期時間可以計算出星期幾而不被告知。然而,這可以被輕微地改變以徵求這一點。

+0

不回答OP的問題 - 很明顯,他們正在教一個教導關於處理多個參數和格式化輸出的導師的具體問題。 – 2014-10-12 10:16:19

+0

我同意這個問題是毫無意義的,因爲它有非常豐富的標準庫,但它實際上是一個很好的學習練習,用於處理列表和字典等事情,幫助將編碼數據轉換爲可讀信息,並處理多個參數。 – 2014-10-12 10:23:13

相關問題