Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на Python

  Все выпуски  

RFpro.ru: Программирование на Python


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Хватов Сергей
Статус: Академик
Рейтинг: 609
∙ повысить рейтинг »
Valera_ja
Статус: 3-й класс
Рейтинг: 71
∙ повысить рейтинг »
Fox Malder
Статус: 2-й класс
Рейтинг: 17
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Программирование / Python

Номер выпуска:32
Дата выхода:18.09.2012, 04:00
Администратор рассылки:Калашников О.А. (Руководитель)
Подписчиков / экспертов:24 / 10
Вопросов / ответов:3 / 4

Консультация # 184367: Здраствуйте, уважаемые эксперты! Помогите c заданием: создать модуль, аргументом которого есть тьюпл, который представляет вектор разложения неизвестного числа в цепную дробь. Результат: Словарь из двухкомпонентных тьюплов, в котором каждый тьюпл состоит из числителя p_n и знаменателя q_n n-й аппроксимирующей дроби, : p_n = a_n *...


Консультация # 176429: здравствуйте, уважаемые эксперты! нашел уроки по питону для симбиан 9, но в телефоне не удобно писать программы, даже не реально. вот помогите как в компьютере писать программы для симбиан?...
Консультация # 171302: Здравствуйте Эксперты! Начал изучать питон , с книги создал файл . По идее он должен копирова ть один файл в другой исходник в приложении . запускаю ,выдает такую ошибку perv.py: line 1: syntax error near unexpected token `(' perv.py: line 1: `f1 = open("file1.txt, r")' чего не хватает или что не правильно...

Консультация # 184367:

Здраствуйте, уважаемые эксперты!
Помогите c заданием:
создать модуль, аргументом которого есть тьюпл, который представляет вектор разложения неизвестного числа в цепную дробь.
Результат: Словарь из двухкомпонентных тьюплов, в котором каждый тьюпл состоит из числителя p_n и знаменателя q_n n-й аппроксимирующей дроби, :
p_n = a_n * p_{n-1} + p_{n-2}, p_{-1}=1, p_{-2}=0
q_n=a_n * q_{n-1} + q_{n-2}, q_{-1}=0, q{-2}=1
В качестве ключа к каждому тьюпла использовать его номер n , начиная с нуля.

Заранее огромное спасибо!!!

Дата отправки: 03.11.2011, 00:29
Вопрос задал: Посетитель - 384525
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Хватов Сергей (Академик):

Здравствуйте, Посетитель - 384525!
Вот полный код:

Код :
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
создать модуль, аргументом которого есть тьюпл,
который представляет вектор разложения неизвестного числа
в цепную дробь.

Результат: Словарь из двухкомпонентных тьюплов,
в котором каждый тьюпл состоит из числителя p_n
и знаменателя q_n n-й аппроксимирующей дроби, :
p_n = a_n * p_{n-1} + p_{n-2}, p_{-1}=1, p_{-2}=0
q_n=a_n * q_{n-1} + q_{n-2}, q_{-1}=0, q{-2}=1

В качестве ключа к каждому тьюпла использовать его номер n,
начиная с нуля.
"""

import sys

def rq184367(args):
    """То, что задано

    Правда это функция, а не модуль

    Возвращает два "лишних" элемента - с ключами -1 и -2  smile  
    """
    res = dict()
    res[-1] = (1,0)
    res[-2] = (0,1)
    n = 0
    for a in args:
        res[n] = (a * res[n-1][0] + res[n-2][0],
                  a * res[n-1][1] + res[n-2][1])
        n += 1
    return res

def main(args):
    """Main script routine - не делает ничего интересного

    Выводит исходные двнные, вызывает функцию и выводит результат.
    Выводит без каких-либо "украшений"
    """
    print args
    ids = rq184367(args)
    print ids 

if __name__ == '__main__':
    """Вызов
    Аргументы передаются через параметры вызова
    """
    main(map(int, sys.argv[1:]))
и результат:
Код :
$ ./main.py 1 2 3 4 5 6 7 8 9
[1, 2, 3, 4, 5, 6, 7, 8, 9]
{0: (1, 1), 1: (3, 2), 2: (10, 7), 3: (43, 30), 4: (225, 157), 5: (1393, 972), 6: (9976, 6961), 7: (81201, 56660), 8: (740785, 516901), -1: (1, 0), -2: (0, 1)}

Версия Python: 2.7.1, ОС: Linux Fedora 15

Консультировал: Хватов Сергей (Академик)
Дата отправки: 04.11.2011, 16:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 176429:

здравствуйте, уважаемые эксперты! нашел уроки по питону для симбиан 9, но в телефоне не удобно писать программы, даже не реально. вот помогите как в компьютере писать программы для симбиан?

Дата отправки: 01.02.2010, 16:47
Вопрос задал: WWWorm
Всего ответов: 1
Страница онлайн-консультации »


Консультирует lupus campestris (Академик):

Здравствуйте, WWWorm.
Наверное, стоит посмотреть здесь.
Удачи!

Консультировал: lupus campestris (Академик)
Дата отправки: 02.02.2010, 18:38
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 171302:

Здравствуйте Эксперты!
Начал изучать питон , с книги создал файл . По идее он должен копировать один файл в другой
исходник в приложении . запускаю ,выдает такую ошибку

perv.py: line 1: syntax error near unexpected token `('
perv.py: line 1: `f1 = open("file1.txt, r")'

чего не хватает или что не правильно ?
спасибо!

Дата отправки: 13.08.2009, 13:37
Вопрос задал: Bobsa
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Дегтярев Антон Александрович:

Здравствуйте, Bobsa.
Питон чувствителен к пробелам и табуляции.
Каждый пробел это начало блока.
т.е. у вас получается следующая картина
начало
f1 = open ("file1.txt","r")
f2 = open ("file2.txt","w")
начало
for line in f1.readlines():
начало
f2.write(line)
конец
конец
конец
f2.close()
f1.close()

У вас перед 2мя первыми строчками стоят пробелы вот на них то он и ругается.

Рекомендуется также использовать или только пробелы или только TAB'ы

Приложение:

Консультировал: Дегтярев Антон Александрович
Дата отправки: 13.08.2009, 15:01

5
нет комментария
-----
Дата оценки: 13.08.2009, 15:16

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Зарубин Дмитрий Сергеевич:

Здравствуйте, Bobsa!
Дело в том, что в питоне строгий синтаксис. Т.е вместо {} или begin end используются двоеточие ":" и отступы (пробелы). У Вас интерпретатор ругается на открытие скобки "(", т.е он не может понять, зачем она. Какая версия питона у Вас? У меня на Python 2.4.4 (#71, Oct 18 2006, 08:34:43) всё запустилось без проблем.

Консультировал: Зарубин Дмитрий Сергеевич
Дата отправки: 14.08.2009, 22:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное