| leonardo19 |  | 
|   
                Темы:
                
                    40
                
             
                Сообщения:
                
                    848
                
             
                Участник с: 25 ноября 2008
             | nafanjaЯ плохой знаток Питона, но в данном случае не согласен: работает совершенно определённо. Если mes задан неправильно, то отрабатывается ветка except и цикл повторяется, если правильно, то печатается результат и цикл прерывается. Я не беру в расчет случаи, когда вместо целого числа вводится дробь или строка - топикстартер спрашивал не об этом. Я предложил не код, а конструкцию. | 
| Anton8830 |  | 
| 
                Темы:
                
                    23
                
             
                Сообщения:
                
                    175
                
             
                Участник с: 16 ноября 2013
             | Я бы сделал так:  | 
| nafanja |  | 
|   
                Темы:
                
                    94
                
             
                Сообщения:
                
                    9252
                
             
                Участник с: 02 июня 2012
             заблокирован | leonardo19, calendar.monthrange(year, mes) кидает конкретное исключение IllegalMonthError и тогда твоя конструкция становится определенной 
                        Псевдографический инсталлятор Arch Linux ver. 3.8.2 Благодарности принимаются на ЯД 410012815723874 | 
| Anton8830 |  | 
| 
                Темы:
                
                    23
                
             
                Сообщения:
                
                    175
                
             
                Участник с: 16 ноября 2013
             | nafanjaА мне кажется, что, в конкретном случае, абсолютно без разницы, какое исключение будет перехвачено. Если оно есть, то формат неверный (какая разница, почему) - всё равно надо запрашивать данные заново. | 
| nafanja |  | 
|   
                Темы:
                
                    94
                
             
                Сообщения:
                
                    9252
                
             
                Участник с: 02 июня 2012
             заблокирован | Anton8830, и на любое исключение выводить сообщение "Месяц должен быть больше 0 и меньше 13"??? 
                        Псевдографический инсталлятор Arch Linux ver. 3.8.2 Благодарности принимаются на ЯД 410012815723874 | 
| Anton8830 |  | 
| 
                Темы:
                
                    23
                
             
                Сообщения:
                
                    175
                
             
                Участник с: 16 ноября 2013
             | nafanja А почему нет? Ну, можно написать так: "Месяц должен быть указан целым числом от 1 до 12" Если задано не число, то из пояснения понятно, что требуется. Если ничего не задано или задана дробь - тоже... | 
| nafanja |  | 
|   
                Темы:
                
                    94
                
             
                Сообщения:
                
                    9252
                
             
                Участник с: 02 июня 2012
             заблокирован | Anton8830, из условия понятно что  главным является выявление ошибки в месяце. leonardo19 привел хорошую конструкцию, я слегка конкретизировал на нужном исключении. вроде как больше ничего не требовалось из условия проверять. 
                        Псевдографический инсталлятор Arch Linux ver. 3.8.2 Благодарности принимаются на ЯД 410012815723874 | 
| Anton8830 |  | 
| 
                Темы:
                
                    23
                
             
                Сообщения:
                
                    175
                
             
                Участник с: 16 ноября 2013
             | Ещё вариант:  | 
| Anton8830 |  | 
| 
                Темы:
                
                    23
                
             
                Сообщения:
                
                    175
                
             
                Участник с: 16 ноября 2013
             | nafanjaПользователи - они такие... Они месяц могут написать как "Дек" или "december" или ещё как... А отлов исключения print (calendar.monthrange (year, month)) в данном случае не поможет. Программа вывалится раньше, не дойдя до этой конструкции... | 
| nafanja |  | 
|   
                Темы:
                
                    94
                
             
                Сообщения:
                
                    9252
                
             
                Участник с: 02 июня 2012
             заблокирован | Anton8830не спорю. вопрос в другом, а нужен ли был ТС настолько исчерпывающий ответ который ты ему дал? 
                        Псевдографический инсталлятор Arch Linux ver. 3.8.2 Благодарности принимаются на ЯД 410012815723874 |