Форум сайта python.su
Чтобы открыть секретный сейф агент 007 должен в возрастающем порядке набирать
все числа, в записи которых нет одинаковых цифр, из заданного диапазона. Составить про-
грамму, которая бы печатала для агента на экране такие числа, а также определяла, сколько
времени потребуется ему для вскрытия сейфа, если на набор одного числа он тратит t секунд.
Входные данные
Целое число N – порядок чисел.
Два целых числа d1, d2 – границы диапазона.
Целое число t – количество секунд, которое тратит агент 007 для ввода одного числа.
Выходные данные
Список чисел, удовлетворяющих условию задачи;
Время, необходимое агенту 007 для ввода всех этих чисел.
Офлайн
Я только начал учить язык, поэтому прошу тапками не кидать. Однозначно можно сделать гораздо проще, но у меня пока получился вот такой упоротый зверь.
d1=int(input('нижняя граница: ')) d2=int(input('верхняя граница: ')) t=float(input('сколько секунд тратит: ')) diap=range(d1,d2) i=0 time=0 while i<max(diap)+1: i+=1 i1=list(set(str(i))) i2=int(''.join(i1)) if i==1 or i==2 or i==3 or i==4 or i==5 or i==6 or i==7 or i==8 or i==9: time+=t print(i) if i2!=1 and i2!=2 and i2!=3 and i2!=4 and i2!=5 and i2!=6 and i2!=7 and i2!=8 and i2!=9: print(i) time+=t print('агент потратит '+str(time)+' секунд')
Отредактировано Aturo (Окт. 29, 2017 14:39:33)
Офлайн
а вам не кажется что чего то в коде не хватает?
archhесли дано N то оно должно использоваться в решении
Целое число N – порядок чисел
N,d1,d2,t = [int(input()) for _ in range(4)] res = [] # пустой список для N чисел t_global = 0 # счетчик времени for i in range(d1,d2): number_of_digits = len(str(i)) # количество цифр в числе number_unique = len(set(str(i))) # количество уникальных цифр if len(res) == N : # если количество чисел в списке равно N заканчиваем их получение break elif number_of_digits == number_unique: # сверяем уникальность цифр в числе t_global += t*number_of_digits # добавляем в сч. время затраченное на каждую цифру res.append(i) # добавляем число в список print(res) print(t_global)
Отредактировано marvellik (Окт. 29, 2017 17:32:59)
Офлайн