Учебная страница курса биоинформатики,
год поступления 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
Программа принимает на вход два аргумента командной строки:
- число шагов
- p — вероятность шага вправо
Программа должна проверять, что число шагов — целое неотрицательное число и что вероятность — число, находящееся в пределах от 0 до 1. Если это не так, то программа должна выдать сообщение об ошибке.
Далее программа эмулирует следующую ситуацию: Вначале человек стоит на координате 0 на прямой OX. Программа печатает 0.
Для каждого шага:
- С вероятностью p он идет на 1 направо, с вероятностью 1 – p — на 1 налево.
- Программа печатает текущую координату человека
Пример запуска:
python3 random_walk.py 5 0.5
Пример вывода:
0 -1 -2 -1 0 1
7. cut_cline
Программа принимает на вход два (или три) аргумента командой строки:
файл, в каждой строке которого находится одинаковое число значений, разделенных табулятором (tab, он же \t);
- индекс значения (отсчет с 1);
опциональный – имя выходного файла.
Гарантируется, что все аргументы введены верно.
Если имя выходного файла задано, то программа пишет в него значения с заданным индексом из входного файла. Если нет – то программа печатает эти значения на стандартный поток вывода.
Пример запуска:
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й аргумент – файл, куда писать результат работы программы.
Для каждой строки в выходном файле программа должна:
если строка – положительное число, записать десятичный логарифм этого числа;
если строка – отрицательное число, записать "NaN";
если строка – не число вовсе, записать "NA".
Пример запуска:
python3 /home/students/y13/darkvampirewolf/mat/existed.txt
Пример вывода:
1.0 1.3010299956639813 NaN NaN NA 1.6720978579357175
10. fasta_outfile_or_not
Программа принимает два или три аргумента командной строки:
- целое положительное число, равное размеру случайной последовательности;
- число последовательностей;
- (опционально) имя выходного файла.
Если имя выходного файла задано, то программа создаёт файл с таким именем, который содержит случайные последовательности нуклеотидов (atgc) заданной длины в заданном количестве в fasta формате, длины, заданной в командной строке. Имя каждой последовательности — random_{i}, где i — номер последовательности в файле, считая с 1.
Если имя выходного файла не задано, то программа печатает это же на стандартный поток вывода.
Пример запуска:
python3 fasta_outfile_or_not.py 10 2 out.txt
Пример выходного файла при таком запуске:
>random_1 attgatttgc >random_2 agggaaaagc