Найти - Пользователи
Полная версия: Подсчитать количество нулей и единиц
Начало » Центр помощи » Подсчитать количество нулей и единиц
1
Sergava
Привет) Я начал изучать Python недавно, поэтому мне нужна помощь.
мой код:

 from random import randint as r
 while 1:
    x = int(input('\nкол-во: '))
    for i in range(x):
       print(r(0,1),end='')

Как посчитать количество нулей і единиц в строке, что выведется?
Чтобы конечный результат был такой:
Нулей: x
Единиц: y
FishHook
Sergava
Как посчитать количество нулей і единиц в строке,
Покажите в вашем коде хоть одну строку
Sergava
FishHook
  print(r(0,1),end='')
Например я введу 10 в input, тогда вывод будет например 0101110110.
Как посчитать количество 0 и 1?
Rodegast
 >>> "10101010001".count("1")
5
>>> "10101010001".count("0")
6
Sergava
Rodegast
я ж не буду вручную копировать цыфры. хотелось бы чтоб автоматически после вывода результата считало
py.user.next
  
>>> 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
 
кол-во: 
>>>
Sergava
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)
Romissevd
проблема в том, что в цикле используется значение 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)
Sergava
Romissevd
проблема в том, что в цикле используется значение x одно и то же. Его нужно менять при каждом вызове итерации
теперь понял
спасибо большое!

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB