Я пишу программу, которая запрашивает у пользователя дату (день, месяц и год), и вы получаете в качестве ответа день недели (понедельник, вторник и т. д.). Согласно его алгоритму: https://es.wikibooks.org/wiki/Algoritmia/Algoritmo_para_calcular_el_d%C3%ADa_de_la_semana Я получаю эту ошибку:
Файл "C:/Users/USUARIO/Documents/Programación/Desafio 4/Waldo Muñoz desafio 4/Dia de la semana55.py", строка 64, в Algoritmo = ((год - 1) % 7 + ((год - 1) / 4 - 3 * ((год - 1) / 100 + 1) / 4) % 7 + месяц + день % 7) % 7
TypeError: неподдерживаемые типы операндов для +: 'float' и 'str'
Это то, что у меня есть до сих пор:
day = int(input("Day of the month (number): "))
month = input("Name of the month: ")
month = month.lower()
year = int(input("The year is (numbers): "))
#In order to calculate the day of the week (Monday, ,Tuestday,etc)
#There are two cases: Leap year and non-leap.
if month == "january":
month = 0
elif month == "february":
month = 3
#These two months have equal module in leap year and non-leap.
elif month == "march":
month = 3 #non-leap
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)): #condition to be leap
month = 4
elif month == "april":
month = 6
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 0
elif month == "may":
month = 1
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 2
elif month == "june":
month = 4
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 5
elif month == "july":
month = 6
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 0
elif month == "august":
month = 2
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 3
elif month == "september":
month = 5
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 6
elif month == "october":
month = 0
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 1
elif month == "november":
month = 3
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 4
elif month == "december":
month = 5
if(year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)):
month = 6
else:
print("Please, write the date with the correct format.")
Algoritmo = int((year - 1) % 7 + ((year - 1) / 4 - 3 * ((year - 1) / 100 + 1) / 4) % 7 + month + day % 7) % 7
#Algorithm to calculate day of the week
if Algoritmo == 0:
print ("Monday")
elif Algoritmo == 1:
print ("Tuesday")
elif Algoritmo == 2:
print ("Wednesday")
elif Algoritmo == 3:
print ("Thursday")
elif Algoritmo == 4:
print ("Friday")
elif Algoritmo == 5:
print ("Saturday")
elif Algoritmo == 6:
print ("Sunday")
P.S.: Я носитель испанского, извините, если есть ошибки...
if month == january":
- person techydesigner   schedule 26.10.2016