Как преобразовать день недели определенной даты?

Я застрял на несколько часов; может кто-нибудь, пожалуйста, помогите мне понять это?

Создайте мини-веб-приложение, которое сообщает пользователю день недели определенной даты.

Для определения дня недели можно использовать функцию из модуля календаря. Функцию дня недели можно вызвать так:

день недели = calendar.weekday(y, m, d) … при условии, что у вас есть год, месяц и день в переменных y, m и d. Это поместит целое число 0–6 в переменную день недели, где 0 — понедельник, 1 — вторник и так далее.

Используйте серию операторов if, чтобы получить такой вывод на сгенерированной странице (конечно, с соответствующим днем ​​недели — это то, что вы получили бы, если бы день недели был равен 0):

Это мой первый пост, и он не позволит мне загрузить свой код, потому что форматирование здесь отличается, но у меня есть первая часть (импорт.cgi, импорт календаря и форма = часть cgi.FieldStorage()), затем содержимое тип и тип документа, затем сценарий CGI

тогда инт коды

затем операторы if для части дня недели

import.cgi
import calendar
form = cgi.FieldStorage()

#CGI Script 
print 
year = int(form.getvalue("year")) 
month = int(form.getvalue("month")) 
day = int(form.getvalue("day")) 
weekday = calendar.weekday(y, m, d) 
if weekday == 0: 
    print ("<p> That's monday </p>") 
if weekday == 1: 
    print ("<p> That's tuesday </p>") 
if weekday == 2: 
    print ("<p> That's wednesday </p>") 
if weekday == 3: 
    print ("<p> That's thursday </p>") 
if weekday == 4: 
    print ("<p> That's friday </p>") 
if weekday == 5: 
    print ("<p> That's saturday </p>") 
if weekday == 6: 
    print ("<p> That's sunday </p>") 

person StillLearning    schedule 03.12.2015    source источник
comment
Это не позволяет вам размещать код в первом сообщении ?? Разместите его как текст, мы можем отформатировать его   -  person letsc    schedule 04.12.2015
comment
# CGI Script печатает год = int (form.getvalue (год)) месяц = ​​int (form.getvalue (месяц)) день = int (form.getvalue (день)) день недели = calendar.weekday (г, м, д), если день недели == 0: напечатать (‹p› Это понедельник ‹/p›), если день недели == 1: напечатать (‹p› Это вторник ‹/p›), если день недели == 2: напечатать (‹p› Это среда ‹/ p›) если день недели == 3: вывести (‹p› Это четверг ‹/p›) если день недели == 4: вывести (‹p› Это пятница ‹/p›) если день недели == 5: вывести (‹p› Это суббота ‹/p›), если день недели == 6: выведите (‹p› Это воскресенье ‹/p›)   -  person StillLearning    schedule 04.12.2015
comment
Добро пожаловать в StackOverflow. Пожалуйста, прочтите и следуйте инструкциям по публикации в справочной документации. Здесь применяется минимальный, полный, поддающийся проверке пример. В частности, какой результат делаете вы получаете, когда запускаете это? Код кажется достаточно правильным. Покажите свой фактический результат, включая то, что вы получили от своих попыток отладки.   -  person Prune    schedule 04.12.2015
comment
Похоже, вы не знаете, как форматировать код в этой среде. Выберите блок кода, затем щелкните значок {} в верхней части окна редактирования. Это обеспечивает пустые строки для разделения и отступы в 4 пробела, что является метакодом для блока кода.   -  person Prune    schedule 04.12.2015


Ответы (2)


Начиная с вашего кода, мне пришлось заменить y, m, d на год, месяц, день в качестве аргументов calendar.weekday, чтобы заставить его работать. Это та точка, где вы застряли?

import calendar
year = 2015 
month = 12 
day = 3 
weekday = calendar.weekday(year, month, day) 
if weekday == 0: 
   print ("<p> That's monday </p>") 
if weekday == 1: 
   print ("<p> That's tuesday </p>") 
if weekday == 2: 
   print ("<p> That's wednesday </p>") 
if weekday == 3: 
   print ("<p> That's thursday </p>") 
if weekday == 4: 
   print ("<p> That's friday </p>") 
if weekday == 5: 
   print ("<p> That's saturday </p>") 
if weekday == 6: 
   print ("<p> That's sunday </p>") 
person manu190466    schedule 03.12.2015
comment
ДА СПАСИБО БОЛЬШОЕ. МНЕ ПОНРАВИЛОСЬ СПАСИБО ОТ ВСЕГО СЕРДЦА! - person StillLearning; 04.12.2015

Python любит предоставлять вещи, которые вам могут понадобиться... поэтому мы можем использовать то, что есть в их библиотеках. Попробуйте этот скрипт:

import time
t = (2015, 12, 3, 0, 0, 0, 0, 0, 0) # t is Dec 3 2015 -- replace with whatever you like
q = time.mktime (t)                 #convert to floating point rep, which is needed by...
r = time.gmtime (q)                 #convert to struct time, which is needed by...
print (time.strftime ("%A", r))     #formats time as a string.  %A means "weekday"

Это будет напечатано в четверг, так как 2015-12-3 — четверг.

Адаптируйте по мере необходимости к вашему собственному сценарию.

Дополнительные сведения о time.strftime см. на странице http://www.tutorialspoint.com/python/time_strftime.htm. .

person Topological Sort    schedule 03.12.2015