vorota-grupp
?>

Python множества Напишите программу, которая удаляет из строки все повторяющиеся символы. Входные данные На вход программы подаётся строка, содержащая символы таблицы ASCII. Выходные данные Программа должна вывести исходную строку, из которой удалены все повторяющиеся символы.

Информатика

Ответы

arutchevben64

element_list = input().split()

for l in element_list:

   print(l, end = ' ') # до сортировки

for elem in element_list:

   if element_list.count(elem) != 1:

       for i in range(element_list.count(elem)):

           element_list.remove(elem)

for n in element_list:

   print(n, end = ' ') # после сортировки

sveta1864
// PascalABC.Net 3.0, сборка 1052
const
  nstud=100;
  npred=10;
type
  date=record
    den:byte;
    mes:byte;
    god:integer
  end;
  St=record
    datr:date;
    famnam:string;
    gender:0..1;
    ball:array[1..npred] of 2..5
  end;
var
  ns,np,nd,i,j:byte;
  R:array[1..nstud] of St;
  Dolg,flagp:boolean;
  cdate:date;
begin
  Write('Количество студентов: '); Read(ns);
  Write('Количество предметов: '); Read(np);
  Writeln('Вводите данные по каждому студенту');
  Writeln('В первой строке через пробел дата рождения ДД ММ ГГГГ');
  Writeln('Во второй строке фамилия, пробел, имя');
  Writeln('В третьей строке пол (0 - мужской, 1 - женский)');
  Writeln('В четвертой строке полученные через пробел');
  for i:=1 to ns do begin
    Writeln('*** Студент ',i,' ***');
    With R[i] do begin
      Readln(datr.den,datr.mes,datr.god);
      Readln(famnam); Readln(gender);
      for j:=1 to np do Read(ball[j])
    end
  end;
  { 1 }
  Writeln;
  Writeln('Список студентов-задолжников');
  nd:=0;
  for i:=1 to ns do begin
    With R[i] do begin
      j:=1; Dolg:=false;
      repeat
        if ball[j]=2 then begin Dolg:=true; Inc(nd) end;
        Inc(j)
      until Dolg or (j>np);
      if Dolg then Writeln(famnam)
    end
  end;
  if nd=0 then Writeln('Задолжников нет!');
  { 2 }
  Writeln;
  Writeln('Введите дату запроса в формате ДД, ММ, ГГГГ: ');
  Read(cdate.den,cdate.mes,cdate.god);
  Writeln;
  Writeln('Список студентов, которым исполнилось 20 лет');
  nd:=0;
  for i:=1 to ns do begin
    With R[i] do begin
      flagp:=false;
      if cdate.god-datr.god>20 then flagp:=true
      else
        if cdate.god-datr.god=20 then begin
          if cdate.mes>datr.mes then flagp:=true
          else begin
            if cdate.mes=datr.mes then flagp:=(cdate.den>=datr.den)
          end
        end;
      if flagp then begin Writeln(famnam); Inc(nd) end;
    end
  end;
  if nd=0 then Writeln('Нет студентов, которым исполнилось 20 лет!');
end.

Тестовое решение:
Количество студентов: 5
Количество предметов: 4
Вводите данные по каждому студенту
В первой строке через пробел дата рождения ДД ММ ГГГГ
Во второй строке фамилия, пробел, имя
В третьей строке пол (0 - мужской, 1 - женский)
В четвертой строке полученные через пробел
*** Студент 1 ***
5 10 1996
Иванов Иван
0
4 3 5 5
*** Студент 2 ***
12 8 1997
Петров Петр
0
3 2 3 4
*** Студент 3 ***
9 10 1998
Сидорова Наталья
1
3 4 4 2
*** Студент 4 ***
6 9 1994
Козлова Ирина
1
5 4 4 5
*** Студент 5 ***
12 3 1995
Тарасов Константин
0
3 5 5 4

Список студентов-задолжников
Петров Петр
Сидорова Наталья

Введите дату запроса в формате ДД, ММ, ГГГГ:
2 11 2015

Список студентов, которым исполнилось 20 лет
Козлова Ирина
Тарасов Константин
seletan1
Задача 5. “Кузнечик” В одной стране жил-был волшебный кузнечик, умеющий прыгать на любое расстояние. А ко- гда он изучил тему «числовые последовательности», то решил прыгать по дороге с нумерованны- ми клетками по придуманному им правилу: 1 2 4 7 11 16 22 29 и так далее, дальше продолжи- те сами. А другой кузнечик решил подкараулить его в какой-нибудь клетке N, чтобы не дать уска- кать в бесконечность ему, предложите алгоритм, проверяющий, попадет ли первый кузнечик в клетку N? Решение: Можно догадаться, что каждое n-ное число bn = bn-1 + n – 1, где b1 = 1. Можно также догадаться, что каждое число нашей прогрессии bn = 1 + 1 + 2 + 3 + … + n – 1 = 1 + Sn , где Sn – это сумма арифметической прогрессии с a1=0 и d=1. И по формуле прогрессии получаем: bn = 1 + n(n-1)/2. Остается проверить, равно ли введенное N какому-нибудь bn. Решаем уравнение: N = 1 + n(n-1)/2, квадратное уравнение: n2 – n + 2 – 2N = 0, D = 1 – 4(2-2N) = 8N – 7, n = (1+sqrt(8N-7))/2 – берем только положительный ответ. Получился алгоритм: Подставляем N в формулу для n и если n – целое, то кузнечик попадет в клетку с номером N. Вопрос только, как проверить, целое ли n. Для этого проверяем, достаточно ли мало отклонение его от его округле- ния: если abs( n – round( n ) ) < 0,000000000000001, то n – скорее всего целое. По крайней мере с точностью до 0,000000000000001.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Python множества Напишите программу, которая удаляет из строки все повторяющиеся символы. Входные данные На вход программы подаётся строка, содержащая символы таблицы ASCII. Выходные данные Программа должна вывести исходную строку, из которой удалены все повторяющиеся символы.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Lenamihluk50
namik120939
annademidova-74
ViktorovnaKraeva634
romolga3580
minchevaelena23
eutenkova805
borvalmok432
genya1509
sve-lysenko
Nadirovich1317
lider-mpl550
kbndbyb6
zoyalexa495
platan3698952