Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
18 / 13 / 5
Регистрация: 25.09.2016
Сообщений: 324

Зациклить код, до тех пор пока не выполнится условие

08.10.2019, 17:24. Показов 9849. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Есть код. P простое генерируется исходя из уравнения P=2*Q+1
Функция isPrime проверяет P на простоту.
Вопрос: Как зациклить код, до тех пор пока P не станет простым?
Заранее спасибо:-)

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import math;
import random;
import time;
 
def eznum():
 
 
    while 1:
        z=0
        a=random.randint(1,500)
        for i in range(2,a,1):
            if a%i==1:
                continue
            if a%i==0:
                z=1
                break
        if z==0:
            break
 
    return a;
 
def isprime(P):
 
    isPrime=True
 
    for i in range(2,int(math.sqrt(P)),1):
        if P%i==0:
            isPrime =False
            break
 
    if isPrime:
        print("c is a prime number")
    else:
        print("c is not a prime number")
        exit(0)
 
def powmod(a,b,c):
 
    z=1
    for i in range(0,b,1):
        z=z*a%c
 
    return z
 
 
 
def pubkey(G,A,P):
    pa=powmod(G,A,P)
    return pa
 
def main():
 
    Q=eznum()
    P=2*Q+1
    G=random.randint(1,P-1)
    A=random.randint(1,500)
    B=random.randint(1,500)
    ali=pubkey(G,A,P)
    bob=pubkey(G,B,P)
    ali1=pubkey(bob,A,P)
    bob1=pubkey(ali,B,P)
    print("enter Q",Q)
    print("enter P",P)
    print("enter proverka ",isprime(P))
    print("enter G",G)
    print("enter A",A)
    print("enter B",B)
    print("Enter PA",ali)
    print("Enter PB",bob)
    print("Common key ali",ali1)
    print("Common key bob",bob1)
 
if __name__ == '__main__':
    main()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2019, 17:24
Ответы с готовыми решениями:

Программа должна запрашивать ввести возраст до тех пор, пока пользователь не введет число. как зациклить можно?
try: m=int(input("введите ваш возраст ")) except ValueError: m=int(input("введите ваш возраст ")) print(m)

Просите пользователя угадать число до тех пор, пока он его не угадает. Как зациклить ввод переменной,если не угадал?
import random a=int(random.randint(0,20)) print(a) b=int(input("Введите число от 0 до 20 ")) if a==b: print("Вы угадали...

Вводить натуральные числа до тех пор, пока не выполнится условие
водить натуральные числа до тех пор, пока не выполнится условие: Ni ≥ Ni-1 + Ni-2. Вывести последнее введенное число. Пример работы...

3
Модератор
Эксперт Python
 Аватар для Fudthhh
2696 / 1602 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
10.10.2019, 10:54
Mindfure,
1) Очень больно такое читать, почитайте про pep-8.
2) Чем отличается функция "powmod" от "pubkey"?

Например: если какашку не пнуть, она так и будет лежать, а если пнуть то она еще и вонять начнет.
3) Мораль: Чтоб число стало простым, надо совершать какие либо действия над ним.
0
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
10.10.2019, 11:04
Mindfure, для начала я бы предложил переписать то, что у вас есть. А потом уже думать на зицикливанием. Даю гарантию в 80%, что если вы правильно и красиво это перепишите, то ответ придёт сам собой.
0
1 / 0 / 1
Регистрация: 07.08.2018
Сообщений: 80
11.10.2019, 16:18
у тебя должно быть код который проверяет простоту P
ну а потом
Python
1
2
3
4
5
6
#переменная simp - boolean
#  true - если P простое
#  false - если P сложное
 
while not simp == true:
  *сам код программы*
//////////////////////////////////////

зацикливание с условием
Python
1
2
3
4
5
while *условие*:  #while i == 1 - выполняется пока i равно 1
  *сам код программы*
 
while not *условие*:  #while not i == 1 - выполняется пока i не станет равно 1
  *сам код программы*
бесконечный цикл
Python
1
2
while 1:
  *сам код программы*
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.10.2019, 16:18
Помогаю со студенческими работами здесь

Подправить код. Подключать клиентов до тех пор, пока не выполнится какое-либо условие
Доброго времени суток.Есть клиент-сервер, который принимает только четырех клиентов. Как изменить код так, чтобы сервер принимал клиентов,...

Вводить натуральные числа до тех пор, пока не выполнится условие
водить натуральные числа до тех пор, пока не выполнится условие: Ni ≥ Ni-1 + Ni-2. Вывести последнее введенное число. Пример работы...

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

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

Как задать подстановку значений в уравнение до тех пор, пока не выполнится заданная точность
Здравствуйте. Такой вопрос. Как задать маткаду подстановку значений в уравнение до тех пор, пока не выполнится заданная точность? Может,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru