Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
Dpal7
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 8
1

Программа определения количества дней в месяце

27.02.2015, 14:19. Просмотров 3266. Ответов 7
Метки нет (Все метки)

Первое мое задание в питоне, да и вообще в программировании. При запуске питон ругается на "elif". Подскажите пожалуйста как исправить, и как избежать подобного в дальнейшем. Пользуюсь версией 3.4.1 Shell
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a = input ('введите номер месяца от 1 до 12:')
if a == "1" or a == "3" or a == "5" or a == "7" or a == "8" or a == "10" or a == "12":
    print('в этом месяце 31 день')
    elif a == "4" or a == "6" or a == "9" or a == "11":
        print('В этом месяце 30 дней')
 
        elif a == "2":
            s= input ('Год высокосный? (да/нет:')
            if s == "да":
            print('В этом месяце 29 дней')
            elif s == "нет":
            print('В этом месяце 28 дней')
            
            else:
                print ('Неверный ввод данных')
                
                input("\n\nНажмите Enter. чтобы выйти.")
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2015, 14:19
Ответы с готовыми решениями:

Определение количества дней между двумя датами
в году 12 месяцев,один месяц - 60дней нужно вычислить кол-во дней отпуска даются две строки в...

Определения количества дней в месяце
12. Написать программу вывода количества дней в месяце года. Месяц задавать по его номеру. ...

Программа для расчитывания количества дней в месяце
Нужно разработать программу для определения количества дней в месяце в определенном году...

Перегрузка operator+ с учетом количества дней в месяце
Ребят я сделал 2 перегрузки оператора+ это "дата+дата" и "дата+число" - эти две перегрузки у меня...

Функция для вычисления количества дней в месяце
Помогите, пожалуйста, с решением задачи на языке C#: необходимо написать функцию f(int m, int d),...

7
alex925
2684 / 2290 / 631
Регистрация: 19.03.2012
Сообщений: 8,832
27.02.2015, 14:57 2
Отступы пляшут, вот и ругается и кстати интерпретатор точно ясно тебе дал это понять.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
month = input('введите номер месяца от 1 до 12:')
if month in ['1', '3', '5', '7', '8', '10', '12']:
    print('в этом месяце 31 день')
elif month in ['4', '6', '9', '11']:
    print('В этом месяце 30 дней')
elif month == "2":
    answer = input ('Год высокосный? (да/нет:')
    if answer == "да":
        print('В этом месяце 29 дней')
    elif answer == "нет":
        print('В этом месяце 28 дней')
else:
    print('Неверный ввод данных')
    input("\n\nНажмите Enter. чтобы выйти.")
1
Dpal7
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 8
27.02.2015, 15:04  [ТС] 3
Спасибо большое, получилось
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
a = input ('введите номер месяца от 1 до 12:')
if a == "1" or a == "3" or a == "5" or a == "7" or a == "8" or a == "10" or a == "12":
  print('в этом месяце 31 день')
elif a == "4" or a == "6" or a == "9" or a == "11":
  print('В этом месяце 30 дней')
elif a == "2":
  s= input ('Год высокосный? (да/нет:')
if s == "да":
  print('В этом месяце 29 дней')
elif s == "нет":
  print('В этом месяце 28 дней')            
else:
  print ('Неверный ввод данных')                
  input("\n\nНажмите Enter. чтобы выйти.")
0
alex925
2684 / 2290 / 631
Регистрация: 19.03.2012
Сообщений: 8,832
27.02.2015, 15:11 4
Цитата Сообщение от Dpal7 Посмотреть сообщение
получилось
Не правильно у тебя получилось
0
27.02.2015, 15:11
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10511 / 6216 / 1562
Регистрация: 25.07.2009
Сообщений: 11,835
27.02.2015, 15:26 5
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env python3
 
import datetime
import calendar
 
monthDays = ( ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ), ( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ) )
 
leapYear = calendar.isleap(datetime.datetime.now().year)
 
while True:
    try:
        monthNumber = int(input('Month number (1 - 12): '))
        print("%d day%s" % (monthDays[leapYear][monthNumber - 1], '' if monthDays[leapYear][monthNumber - 1] & 1 else 's'))
    except:
        print('Bye!')
        break;
1
Dpal7
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 8
27.02.2015, 15:42  [ТС] 6
Цитата Сообщение от easybudda Посмотреть сообщение
!/usr/bin/env python3
import datetime
import calendar
monthDays = ( ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ), ( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ) )
leapYear = calendar.isleap(datetime.datetime.now().year)
while True:
* * try:
* * * * monthNumber = int(input('Month number (1 - 12): '))
* * * * print("%d day%s" % (monthDays[leapYear][monthNumber - 1], '' if monthDays[leapYear][monthNumber - 1] & 1 else 's'))
* * except:
* * * * print('Bye!')
* * * * break;
С этим кодом вообще не получается ничего
Python
1
2
3
4
5
6
Traceback (most recent call last):
  File "C:/Python34/calendar.py", line 4, in <module>
    import calendar
  File "C:/Python34\calendar.py", line 8, in <module>
    leapYear = calendar.isleap(datetime.datetime.now().year)
AttributeError: 'module' object has no attribute 'isleap'
0
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10511 / 6216 / 1562
Регистрация: 25.07.2009
Сообщений: 11,835
27.02.2015, 16:07 7
Цитата Сообщение от Dpal7 Посмотреть сообщение
С этим кодом вообще не получается ничего
Программа определения количества дней в месяце



New in version 2.0.

calendar.isleap(year)

Returns True if year is a leap year, otherwise False.
https://docs.python.org/2/library/calendar.html#module-calendar
0
Dpal7
1 / 1 / 0
Регистрация: 26.02.2015
Сообщений: 8
27.02.2015, 20:15  [ТС] 8
Все заработало, спасибо.
0
27.02.2015, 20:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2015, 20:15

Установить ограничение на ввод количества дней в месяце
В проге нужно сделать ограничение дней в месяце чтоб нельзя например было ввести в феврале (2)...

Вычисление количества дней в месяце (используя switch)
Написать программу, используя оператор switch для вычисления дней в месяце, если даны: номер месяца...

Вычисление количества дней в месяце по введенному номеру месяца
Составьте программу для вычисления числа дней в месяце по введенному номеру месяца. Учитывается,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru