Найти - Пользователи
Полная версия: Цикл while не работает
Начало » Центр помощи » Цикл while не работает
1
126544123149845213
Приветствую. В чем ошибка? Цикл выполняется только один раз…

# Программа монетка
# Подбрасываем монетку 100 раз, потом считаем орлы и решки.

import random
print('От Вас тут ничего не зависит, просто смотрите за результатом…')
orel = 0
reshka = 0
total = 0
while total != 100:
total += 1
# Кидаем монетку и считаем результат
coin = random.randint(1, 2)
if coin == 1:
orel += 1
if coin == 2:
reshka += 1
print('Орлов: ‘, orel)
print(’Решек ', reshka)
PEHDOM
возможно стоит всетаки поместить код в теги
[code python][/code]
чтобы было понятно где у вас отступы
ЗЫ все работает, если стоят правильно отступы.
126544123149845213
 # Программа монетка
# Подбрасываем монетку 100 раз, потом считаем орлы и решки.
import random
print('От Вас тут ничего не зависит, просто смотрите за результатом...')
orel = 0
reshka = 0
total = 0
while total != 100:
	total += 1
# Кидаем монетку и считаем результат
coin = random.randint(1, 2)
if coin == 1:
	orel += 1
if coin == 2:
	reshka += 1
print('Орлов: ', orel)
print('Решек ', reshka)
JOHN_16
отступы расставлены не верно - в цикле выполняется только строчка инкрементирующая total переменную. Нужно что бы в цикле выполнялось еще и действия с монеткой
126544123149845213
хм…думал что отступы влияют только на читабельность кода…
Спасибо. Теперь работает…

 # Программа монетка
# Подбрасываем монетку 100 раз, потом считаем орлы и решки.
import random
print('От Вас тут ничего не зависит, просто смотрите за результатом...')
orel = 0
reshka = 0
total = 0
while total != 100:
	total += 1
	coin = random.randint(1, 2)
	if coin == 1:
			orel += 1
	if coin == 2:
			reshka += 1
print('Орлов: ', orel)
print('Решек ', reshka)
Romissevd
Ну и что твой цикл выполнил?
  # Программа монетка
# Подбрасываем монетку 100 раз, потом считаем орлы и решки.
import random
print('От Вас тут ничего не зависит, просто смотрите за результатом...')
orel = 0
reshka = 0
total = 0
while total != 100:
    total += 1
    coin = random.randint(1, 2)
    if coin == 1:
        orel += 1
    else:
        reshka += 1
print('Орлов: ', orel)
print('Решек ', reshka)
scidam
Существуют и другие решения задачи, например,

 import random
N = 100
x = sum(map(lambda x: random.choice([0,1]), range(N)))
print('Орлов:', x)
print('Решек: ', N - x)

С использованием numpy и биномиального распределения, которое соответствует данному эксперименту (т.е. серии независимых испытаний),

 import numpy as np
N = 100
x = np.random.binomial(N, 0.5)
print('Орлов:', x)
print('Решек: ', N - x)



126544123149845213
scidam
Существуют и другие решения задачи, например,
Я уверен, что решений много, но я только начал процесс обучения, использовал известные мне возможности
PEHDOM
126544123149845213
хм…думал что отступы влияют только на читабельность кода…
В любом другом языке, но не в пайтоне. Это объясняется в первой же главе любого учебника\самоучителя по пайтону.
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