Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/34: Рейтинг темы: голосов - 34, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 03.05.2018
Сообщений: 39

Присвоение значений в цикле

23.10.2019, 01:36. Показов 6861. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, пытаюсь создать небольшую программку для вычисления мультипликативной инверсии.
Создал функцию по её нахождению:
Python
1
2
3
4
5
def EVK(r1,r2,t1,t2):
    q= int(r1/r2)
    r = r1-q*r2
    t = t1-q*t2
    return r2,r,t2,t
По условию числа должны сдвигаться в лево на 1 (r1=r2,r2=r2,t1=t2, t2=t), после этого функция должна работать снова до тех пор пока r !=0
Python
1
2
3
4
5
for i in range(10):
    a,b,s,g =EVK(26,11,0,1)
    а1,b1,s1,g1 = EVK(a,b,s,g)
    a2,b2,s2,g2 = EVK(а1,b1,s1,g1)
    a3,b3,s3,g3 = EVK(а1,b1,s1,g1
Я хочу сделать, чтобы не создавались новые переменные a2,b2,s2,g2 и.т.д.
Python
1
2
3
А было что-то по типу это для 4-5 прогонов
a,b,s,g =EVK(26,11,0,1)
а1,b1,s1,g1 = EVK(a,b,s,g)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2019, 01:36
Ответы с готовыми решениями:

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

Присвоение значений переменных или ссылки
Чем занимаюсь - парсю XML, с последующей записью определенной информации в базу (для простоты пусть будет SQLite) Есть некоторые...

Присвоение функции на нажатие на кнопки в цикле
Добрый день, В QT designer создал несколько кнопок, ручками прописал следующее: ...

5
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
23.10.2019, 05:07
тигрыч,
Python
1
2
3
4
5
for i in range(10):
    result = EVK(26, 11, 0, 1)
    result1 = EVK(*result)
    result2 = EVK(*result1)
    result3 = EVK(*result2)
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.10.2019, 11:52
Лучший ответ Сообщение было отмечено тигрыч как решение

Решение

Так?
Python
1
2
3
r1,r2,t1,t2 = 26,11,0,1
while r1 != 0:
    r2,t1,t2,r1 = EVK(r1,r2,t1,t2)
Добавлено через 2 минуты
Кстати, для деления нацело есть оператор //
Python
1
2
3
4
5
6
>>> 26/11
2.3636363636363638
>>> 26//11
2
>>> int(26/11)
2
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
23.10.2019, 11:57
В numpy для этого есть функция roll. Но можно и свою написать.
1
0 / 0 / 0
Регистрация: 03.05.2018
Сообщений: 39
23.10.2019, 16:12  [ТС]
dondublon, Рыжий Лис, Arsegg, Всем спасибо, помогли. Скидываю своё решение может кому-пригодиться:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
def proverka(mod,r,t2):
    if r==0:
        if t2<0:
            print(t2)
            mult = t2%mod
            print("Мультипликативная инверсия равна", mult)
            return False
        else:
            print("Мультипликативная инверсия равна", t2)
            return False
    else:       
        return True
def EVK(r1,r2,t1,t2):
    q= r1//r2
    r = r1-q*r2
    t = t1-q*t2
    return r2,r,t2,t
def Algoritm_Evklida(r1,r2,t1,t2):
    for i in range (10):
        result = EVK(r1,r2,t1,t2) 
        if proverka (r1,result[1],result[2])==False:
            break
        else:
            result1 = EVK(*result)
            if proverka (r1,result1[1],result1[2])==False:
                break
            else:
                result2 = EVK(*result1)
                if proverka (r1,result2[1],result2[2])==False:
                    break
                else:
                    result3 = EVK(*result2)
                    if proverka(r1,result3[1],result3[2])==False:
                        break
                    else:
                        result4 = EVK(*result3)
                        if proverka(r1,result3[1],result3[2])==False:
                            break
                        else:
                            print("Очень длинное решение....")
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
23.10.2019, 16:21
тигрыч, нажми ребятам "Спасибо" и они обязательно помогут тебе в следующий раз!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.10.2019, 16:21
Помогаю со студенческими работами здесь

Присвоение значений ячейкам в цикле
Ребята, привет! Первый раз пишу макрос, прошу прощения, если что не так. Задача простая - нужно копировать ячейку со всем её...

Присвоение значений ссылочным элементам массива в цикле foreach
Проблема в том что хочу после инициализации массива инициализировать и все его ячейки... да,могу это сделать через обычный for, но тут...

Присвоение в цикле
Так выглядит условие задачи: Написать программу нахождения средней температуры за неделю и подсчета количества теплых и холодных дней....

Присвоение имен в цикле
Здравствуйте. Нужна помощь. Есть скрипт - ответы на вопросы. Писал сам. Короче смысл такой, в БД хранятся вопросы, к каждому вопросу нужно...

Присвоение имени матрицы в цикле
Здравствуйте, уважаемые участники форума! Подскажите пожалуйста, как можно присваивать имена матрицам в цикле. У меня есть много файлов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru