George_pryanik
Дек. 11, 2014 19:22:02
1. Файл numbersXX содержит записи целых чисел. Каждое число размещается в отдельной строке, завершающейся символом “,” (запятая), за которым следует символ новой строки (“\n”):
314,
212,
269,
…
2. Написать программу, которая
a. считывает все числа из файла numbersXX ,
b. выводит их на экран в виде:
“Список целых чисел, считанных из файла: …”
c. находит все простые числа в полученном списке,
d. выводит результат на экран в виде:
“Простые числа в списке: …”
Замечание. Использование кириллицы в выводе результата обязательно.
1. Модуль math стандартной библиотеки Python содержит константы π = 3.14…, e = 2.7… . Написать программу, которая
a. получает значение константы π
b. выводит найденное значение на экран в виде:
pi = 3.14…
c. Получает запись числа π в системе счисления по основанию 8 с точностью 4 знака в дробной части числа и выводит результат в виде:
“Число pi в системе счисления по основанию 8: …”
Замечание. Использование кириллицы в выводе результата обязательно.
py.user.next
Дек. 12, 2014 00:37:35
botinag
nums = [s.rstrip()[:-1] for s in f.readlines()]
nums = [int(s.rstrip()[:-1]) for s in f]
После этого
botinag
prime_nums = [x for x in nums if is_prime(int(x))]
prime_nums = filter(is_prime, nums)
Лучше вывод подогнать под числа, чем числа под вывод. Так как вывод сегодня есть, завтра - нет, а числа будут всегда.
botinag
Дек. 12, 2014 08:28:35
py.user.next, ok. Учтём на будущее.
import math
def float_dec_to_oct(num, precision):
frac, whole = math.modf(num)
before_point = after_point = ''
while whole != 0:
rem = whole % 8
whole = whole / 8
before_point += str(int(rem))
for x in range(precision):
frac, wh = math.modf(frac * 8)
after_point += str(int(wh))
new_num = float('.'.join([before_point[::-1], after_point]))
return new_num
print(u'pi = {}'.format(math.pi))
print(u'Число pi в системе счисления по основанию 8: {:.4f}'.format(float_dec_to_oct(math.pi, 4)))
>>> print(u'pi = {}'.format(math.pi))
pi = 3.14159265359
>>> print(u'Число pi в системе счисления по основанию 8: {:.4f}'.format(float_dec_to_oct(math.pi, 4)))
Число pi в системе счисления по основанию 8: 3.1103Стоит отметить, что в моей реализации число не округляется до precision знаков после запятой, а просто откидываются все цифры, начиная с precision+1 после запятой.
Но переписать оригинальную функцию именно для округления - не проблема.