Проанализируйте код программы 5. Если вам нужно повторно открыть файл output.txt и ввести строку t после значения количества символов, то какие вам нужно внести изменения в этот код? Определите их.output. код 5
f = open(‘input.txt’,»r») #(открывает файл для чтения)
s=f.readline() (считывает строку)
h = open(‘output.txt’,»w») (создает файл для записи)
t=»» (организовывает пустую строку)
for i in range(0,len(s)):
if t.count(s[i])==0 (поиск искомой буквы в строке t )
t=t+s[i] (если искомой буквы нет в строке t, тогда добавляет его в эту строку )
h.write(str(len(t)))(записывает значение длины строки t в файл)
f.close()(закрывает файл f)
h.close()( закрывает файл h)
Задача 1
Program Zadanie1;
var i,N:integer;
A:array[1..4]of integer;
Begin
readln(n);
A[1]:=round(int(N/1000));
A[2]:=round(int(N/100))-A[1];
A[3]:=round(int(N/10))-A[1]-A[2];
A[4]:=N-A[1]-A[2]-A[3];
if (A[1]:=A[4]) and (A[2]:=A[3]) and (A[3]:=A[2]) and (A[4]=A[1]) then writeln('полином');
end;
Задача 2
Program Zadanie2;
var i,N:integer;
A:array[1..3]of integer;
function Kub(a):integer;begin Kub:=a*a*a;end;
Begin
readln(n);
A[1]:=round(int(N/1000));
A[2]:=round(int(N/100))-A[1];
A[3]:=N-A[1]-A[2]-A[3];
if N*N=kub(A[1])+kub(A[2])+kub(A[3]) then writeln('равенство');
end;
n = int(input()) # n = 2428
dx = []
x = n
while x > 0:
if n % (x % 10) == 0:
if str(x % 10) not in dx:
dx.append(str(x % 10))
x = x // 10
dx.sort()
print(len(dx))
print(' '.join(dx))
Объяснение:
n = int(input()) # n = 2428
dx = []
x = n # чтобы не изменить число, вводим новую переменную x = 2428
while x > 0:
if n % (x % 10) == 0: # находим остаток от деления на последнюю цифру 2428 % (8) != 0
if str(x % 10) not in dx: # если цифры нет в списке
dx.append(str(x % 10)) # добавляем в список в строковом формате
x = x // 10 # отбрасываем последнюю цифру от числа x = 242
dx.sort() # сортируем список по возрастанию
print(len(dx))
print(' '.join(dx))