Прикреплённый файл «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 из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2014-02-21 14:06:47, 6.6 KB) [[attachment:2014-02-07-flyword.py]]
- [получить | показать] (2014-02-21 14:06:35, 1.3 KB) [[attachment:2014-02-07-safeinput.py]]
Вам нельзя прикреплять файлы к этой странице.