Форум сайта python.su
Привет) Я начал изучать Python недавно, поэтому мне нужна помощь.
мой код:
from random import randint as r while 1: x = int(input('\nкол-во: ')) for i in range(x): print(r(0,1),end='')
Офлайн
SergavaПокажите в вашем коде хоть одну строку
Как посчитать количество нулей і единиц в строке,
Офлайн
FishHookНапример я введу 10 в input, тогда вывод будет например 0101110110.print(r(0,1),end='')
Как посчитать количество 0 и 1?
Офлайн
>>> "10101010001".count("1") 5 >>> "10101010001".count("0") 6
Офлайн
Rodegast
я ж не буду вручную копировать цыфры. хотелось бы чтоб автоматически после вывода результата считало
Офлайн
>>> from random import randint as r >>> >>> while 1: ... s = input('\nкол-во: ') ... if not s: ... break ... x = int(s) ... lst = [r(0, 1) for i in range(x)] ... nzeros = lst.count(0) ... nones = lst.count(1) ... print('Список:', lst) ... print('Нулей:', nzeros) ... print('Единиц:', nones) ... кол-во: 10 Список: [1, 1, 0, 1, 1, 0, 1, 1, 0, 0] Нулей: 4 Единиц: 6 кол-во: >>>
Отредактировано py.user.next (Июнь 7, 2017 01:41:07)
Офлайн
py.user.next
Таким способом я делал, даже вышло.
Вот только списком выводить мне не вариант.
Я пробовал сделать другим способом, но чёт не выходит.
Если создать переменные zero = 0, one = 0, при каждом выводе рандомного числа,если это 0, то к zero +1, если это 1, то к one +1 добавлять и в конце вывести результат, должно получится.
Помогите исправить мой код:import random x = random.randint(0, 1) zero = 0 one = 0 while 1: vvod = input('кол-во: ') for i in range(int(vvod)): if x == 0: nul = nul + 1 elif x == 1: one = one + 1 print(x) print('нулей: ', zero) print('единиц: ', one)
Офлайн
проблема в том, что в цикле используется значение x одно и то же. Его нужно менять при каждом вызове итерации
import random nul = 0 one = 0 while 1: vvod = input('кол-во: ') for i in range(int(vvod)): x = random.randint(0, 1) if x == 0: nul = nul + 1 elif x == 1: one = one + 1 print(x) print('нулей: ', nul) print('единиц: ', one)
Офлайн
Romissevdтеперь понял
проблема в том, что в цикле используется значение x одно и то же. Его нужно менять при каждом вызове итерации
Офлайн