Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 6, 2017 14:11:11

Sergava
Зарегистрирован: 2017-06-06
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

Привет) Я начал изучать 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

Офлайн

#2 Июнь 6, 2017 14:40:03

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

Sergava
Как посчитать количество нулей і единиц в строке,
Покажите в вашем коде хоть одну строку



Офлайн

#3 Июнь 6, 2017 14:49:45

Sergava
Зарегистрирован: 2017-06-06
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

FishHook
  print(r(0,1),end='')
Например я введу 10 в input, тогда вывод будет например 0101110110.
Как посчитать количество 0 и 1?

Офлайн

#4 Июнь 6, 2017 15:12:51

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2727
Репутация: +  183  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

 >>> "10101010001".count("1")
5
>>> "10101010001".count("0")
6



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Июнь 6, 2017 15:44:35

Sergava
Зарегистрирован: 2017-06-06
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

Rodegast
я ж не буду вручную копировать цыфры. хотелось бы чтоб автоматически после вывода результата считало

Офлайн

#6 Июнь 7, 2017 01:41:00

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9795
Репутация: +  849  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

  
>>> 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)

Офлайн

#7 Июнь 7, 2017 22:24:18

Sergava
Зарегистрирован: 2017-06-06
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

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)

Офлайн

#8 Июнь 7, 2017 23:06:02

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

проблема в том, что в цикле используется значение 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)

Офлайн

#9 Июнь 7, 2017 23:35:56

Sergava
Зарегистрирован: 2017-06-06
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчитать количество нулей и единиц

Romissevd
проблема в том, что в цикле используется значение x одно и то же. Его нужно менять при каждом вызове итерации
теперь понял
спасибо большое!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version