2015-02-13 5 views
0

Ниже приведен код, который должен просить пользователя ввести день месяца. Мы предположим, что месяц начинается в понедельник и имеет 31 день. Если день месяца, введенный пользователем, не является действительным днем ​​месяца (менее 1 или более 31), напечатайте «Недействительный день». В противном случае напечатайте день недели, в который выпадает день.Python - Неверная печать дня недели

Например, второй будет вторник, 10-го будет среда и т.д.

Проблема Я имею в том, что он держит на печать среду, когда я ввода любое количество в неделю. Если я вхожу в 1-й, он должен печатать понедельник, и если я введу второй, он должен распечатать вторник и т. Д., Пока я не войду в 31-й.

Я хочу выяснить, почему он показывает только среду.

#Description: Ask user to enter a day in the month. 
#The dayof the month can not be less than 1 
#or greater than 31 or it's invalid. 

#Enter the day of the week 
#Description: Ask user to enter a day in the month. 
#The dayof the month can not be less than 1 
#or greater than 31 or it's invalid. 


DayofMonth = int(input("Enter the day of the month: ")) 

if DayofMonth >= 1 and DayofMonth <= 31:  
    days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] 
    DayofMonth = 31 
    dx = DayofMonth + 1 
    #print (days [dx % 7]) 


    print("The day of the week is: ", days [dx % 7]) 
else: 
    print("Invalid day") 
+0

Я фиксируя его на некоторое время, и он, наконец, принял формат, но он выглядел иначе, чем опубликовано когда я изначально представил его. –

+0

Я исправил его сейчас, он читал лучше –

+0

И, кстати, он должен всегда печатать пятницу в соответствии с этой ошибкой. –

ответ

1

Это потому, что вы назначаете DayofMonth к закодированному значению 31 сразу после приема входных данных:

DayofMonth = int(input("Enter the day of the month: ")) 

if DayofMonth >= 1 and DayofMonth <= 31: 
    days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] 


    dx = DayofMonth + 1 # omitted extra line 
    print("The day of the week is: ", days [dx % 7]) 
+0

да, я понял, что, когда я посмотрел на него, но спасибо за разъяснение. –

+1

Если бы вы могли отметить как ответ, это было бы высоко оценено. –

Смежные вопросы