archh
Окт. 29, 2017 12:43:05
Чтобы открыть секретный сейф агент 007 должен в возрастающем порядке набирать
все числа, в записи которых нет одинаковых цифр, из заданного диапазона. Составить про-
грамму, которая бы печатала для агента на экране такие числа, а также определяла, сколько
времени потребуется ему для вскрытия сейфа, если на набор одного числа он тратит t секунд.
Входные данные
Целое число N – порядок чисел.
Два целых числа d1, d2 – границы диапазона.
Целое число t – количество секунд, которое тратит агент 007 для ввода одного числа.
Выходные данные
Список чисел, удовлетворяющих условию задачи;
Время, необходимое агенту 007 для ввода всех этих чисел.
Aturo
Окт. 29, 2017 14:39:11
Я только начал учить язык, поэтому прошу тапками не кидать. Однозначно можно сделать гораздо проще, но у меня пока получился вот такой упоротый зверь.
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)+' секунд')
Знаю что ужасно, но все с чего-то начинали. ^_^
marvellik
Окт. 29, 2017 17:32:10
а вам не кажется что чего то в коде не хватает?
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)