Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2020

ВАЖНО, ИНАЧЕ МЫ НЕ НАЙДЕМ ВАШИ СКРИПТЫ!!!

Все файлы со скриптами сохраняйте в папку ~/term1/block2/sem8, название скрипта – <название_задания>.py

1. piacc

Пользователь вводит неотрицательное целое число. Гарантируется верным ввод от пользователя.

Программа печатает число pi, округленное с заданной точностью. Пример входа

3

Пример вывода

3.142

2. piacc_cline

Программа принимает в качестве первого аргумента командной строки неотрицательное целое число. Программа печатает число pi, округленное с заданной точностью. Гарантируется верным ввод от пользователя.

Пример вызова

python3 piacc_cline.py 3

Пример вывода

3.142

3. cos_cline

Программа принимает первым аргументом командной строки значение угла в градусах. Если все введено верно, то программа печатает значение косинуса угла. Если нет (переданный аргумент нельзя интерпретировать как угол), то программа должна сообщить об ошибке.

Пример вызова

python3 cos_cline.py 180

Пример вывода

-1.0

Пример вызова

python3 cos_cline.py abc

Пример вывода

Error, first argument must be a number 

4. corrupted_mean

Программа принимает в качестве первого аргумента командной строки файл с числами, записанными по одному на каждой строке.

Вторым аргументов программа принимает точность, до которой надо округлить среднее записанных значений. Гарантируется верность ввода второго аргумента.

Программа выводит среднее записанных значений.

Если в переданном файле какая-то строка содержит не число, то должно выводиться сообщение об ошибке "Wrong file format". Если переданного файла не существует, то должно выводиться сообщение об ошибке "File doesn't exist".

Пример вызова

python3 corrupted_mean.py /home/students/y13/darkvampirewolf/mat/existed.txt 3

Пример вывода

14.72

Заметьте, что значение округлено до нужного числа знаков после запятой, но print выводит только первые два знака после запятой, так как дальше идут 0. В следующий раз научимся бороться с этим.

Пример вызова

python3 corrupted_mean.py /home/students/y13/darkvampirewolf/mat/not_existed.txt 3

Пример вывода

File doesn't exist

Пример вызова

python3 corrupted_mean.py /home/students/y13/darkvampirewolf/mat/wrong_format.txt 3

Пример вывода

Wrong file format

5. randseq

Программа принимает как аргумент командной строки целое положительное число и создаёт файл random.fasta, который содержит одну случайную последовательность нуклеотидов (то есть из букв a, t, g, c) в fasta формате, длины, заданной в командной строке. Именем последовательности должно быть слово random, без описания.

Если задано не число или число не целое положительное, программа должна понятными словами сообщать об этом и штатно завершать работу, пустой файл в этом случае создаваться не должен.

Пример запуска:

python3 randseq.py 10

Пример выходного файла при таком запуске:

>random
attgatttgc

6. random_walk

Программа принимает на вход два аргумента командной строки:

  1. число шагов
  2. p — вероятность шага вправо

Программа должна проверять, что число шагов — целое неотрицательное число и что вероятность — число, находящееся в пределах от 0 до 1. Если это не так, то программа должна выдать сообщение об ошибке.

Далее программа эмулирует следующую ситуацию: Вначале человек стоит на координате 0 на прямой OX. Программа печатает 0.

Для каждого шага:

  1. С вероятностью p он идет на 1 направо, с вероятностью 1 – p — на 1 налево.
  2. Программа печатает текущую координату человека

Пример запуска:

python3 random_walk.py 5 0.5

Пример вывода:

0
-1
-2
-1
0
1

7. cut_cline

Программа принимает на вход два (или три) аргумента командой строки:

  1. файл, в каждой строке которого находится одинаковое число значений, разделенных табулятором (tab, он же \t);

  2. индекс значения (отсчет с 1);
  3. опциональный – имя выходного файла.

Гарантируется, что все аргументы введены верно.

Если имя выходного файла задано, то программа пишет в него значения с заданным индексом из входного файла. Если нет – то программа печатает эти значения на стандартный поток вывода.

Пример запуска:

python3 /home/students/y13/darkvampirewolf/mat/example.tab 1

Пример вывода:

7
2
8

Входной файл example.tab

7   2   3
2  4   2
8   9   16

8. files

Программа принимает в командной строке произвольное количество имён файлов и выводит на консоль для каждого файла его имя и через табулятор — число строк в нём. Если какого-то файла не существует (или он закрыт на чтение, иными словами, если open("<файл>", "r") выдаёт ошибку), то в соответствующей строке вместо числа строк должно выводиться слово "unavailable".

Пример запуска:

python3 /home/students/y13/darkvampirewolf/mat/existed.txt /home/students/y13/darkvampirewolf/mat/wrong_file_format.txt wrong_file_format.txt/not_existed.txt

Пример вывода:

existed.txt\t5
wrong_file_format.txt\t5
unavailable

9. mass_log

Программа принимает в командной строке два аргумента.

1й аргумент – файл, в котором на каждой строке записано некоторое значение.

2й аргумент – файл, куда писать результат работы программы.

Для каждой строки в выходном файле программа должна:

  1. если строка – положительное число, записать десятичный логарифм этого числа;

  2. если строка – отрицательное число, записать "NaN";

  3. если строка – не число вовсе, записать "NA".

Пример запуска:

python3 /home/students/y13/darkvampirewolf/mat/existed.txt

Пример вывода:

1.0
1.3010299956639813
NaN
NaN
NA
1.6720978579357175

10. fasta_outfile_or_not

Программа принимает два или три аргумента командной строки:

  1. целое положительное число, равное размеру случайной последовательности;
  2. число последовательностей;
  3. (опционально) имя выходного файла.

Если имя выходного файла задано, то программа создаёт файл с таким именем, который содержит случайные последовательности нуклеотидов (atgc) заданной длины в заданном количестве в fasta формате, длины, заданной в командной строке. Имя каждой последовательности — random_{i}, где i — номер последовательности в файле, считая с 1.

Если имя выходного файла не задано, то программа печатает это же на стандартный поток вывода.

Пример запуска:

python3 fasta_outfile_or_not.py 10 2 out.txt

Пример выходного файла при таком запуске:

>random_1
attgatttgc
>random_2
agggaaaagc