Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 21, 2019 16:37:32

.xpt
Зарегистрирован: 2019-02-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопрос по заданию

Дано 3 переменных
a=1000
b=a
c=b
на данный момент они все ссылаются на один и тот же объект. Необходимо организовать бесконечный цикл, на каждой итерации(каждом шаге) которого, каждая переменная с 5-ю процентной вероятностью может быть равна строке “ссылка утрачена”. Необходимо вывести за сколько итераций все три переменные перестанут ссылаться на изначальный объект.
Для нахождения вероятности достаточно использовать модуль random и операторы сравнения.
Прим. использования модуля рандом
>>> import random
>>> random.random()
0.4371512800735169
>>> random.random()
0.8640177435699168
функция random из модуля random, возвращает случайную величину в диапазоне от 0 до 1.
Для выхода из цикла используется оператор break
Может кто-то объяснить как высчитать эти 5% и количество итераций?

Офлайн

#2 Фев. 21, 2019 17:07:23

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Вопрос по заданию

 import random
a=""
b=""
c=""
a_ver=0
b_ver=0
c_ver=0
chet=1
while a!="Ссылка утрачена" and b!="Ссылка утрачена" and c!="Ссылка утрачена":
    if a!="Ссылка утрачена":
        a_ver=random.random()
        if a_ver<=0.05:
            a="Ссылка утрачена"
    if b!="Ссылка утрачена":
        b_ver=random.random()
        if b_ver<=0.05:
            b="Ссылка утрачена"
    if c!="Ссылка утрачена":
        c_ver=random.random()
        if c_ver<=0.05:
            c="Ссылка утрачена"
    chet+=1
print("Понадобилось ", chet, " итераций")

Я бы сделал так. Наверное можно сделать и короче

Офлайн

#3 Фев. 21, 2019 17:11:33

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Вопрос по заданию

5 процентов от единицы это - 0.05
поэтому это число я поставил для проверки попадания случайной величины
если это число поменять например на 0.1, то будет подсчёт вероятности 10%

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version