Прикреплённый файл «2014-02-07-safeinput.py»

Загрузка

   1 #!/usr/bin/env python
   2 # coding: utf
   3 '''
   4 Написать функцию «безопасного ввода» (повторяет операцию ввода до тех пор, пока введённые данные не будут корректны)
   5 
   6     Целого числа
   7     Списка
   8     Данных заданного вида (в качестве параметра ей передаётся функция, которая преобразует введённую строку в «данные заданного вида»)
   9 
  10     «Хаотичную» функцию: случайно посылает собственный тип исключений
  11 '''
  12 import sys
  13 
  14 def safeinput(convert, *argn):
  15     while True:
  16         try:
  17             return convert(raw_input(*argn))
  18             break
  19         except:
  20             exc = sys.exc_info()
  21             print exc[1]
  22 def intlist(string):
  23     return [int(s) for s in string.split(",")]
  24 
  25 class NaughtyError(Exception):
  26      pass
  27 
  28 from random import random
  29 def naughty(string):
  30     if random()>0.3:
  31         raise NaughtyError("Personally, I don't like it without any reason")
  32     return string
  33 
  34 print safeinput(int, "Целое число: ")
  35 print safeinput(intlist, "Список целых чисел: ")
  36 print safeinput(naughty,"Невесть что: ")

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.