나는 정오까지 매 시간마다 증가하는 확률로 실행하고 자정까지 확률을 줄이는 기능이 있습니다. 정오에 맞춰진 정규 분포가 그렇게 할 것이라고 상상할 수 있습니다. 따라서 함수를 실행할 확률은 정오에 100 %이지만 자정에는 매우 낮습니다. 그러나 파이썬 코드로 변환 할 수는 없습니다.시간에 따라 확률 적으로 실행됩니다.
예를 들어 코드가 오전 1시에 실행되면 실행 가능성이 매우 낮습니다. 그러나 정오에 코드를 실행하면 실행 가능성이 100 %입니다.
currentHour = 12
if currentHour == 1:
print('probability = 0')
elif currentHour == 2:
print('probability = 0')
elif currentHour == 3:
print('probability = .1')
elif currentHour == 4:
print('probability = .2')
elif currentHour == 5:
print('probability = .3')
elif currentHour == 6:
print('probability = .4')
elif currentHour == 7:
print('probability = .5')
elif currentHour == 8:
print('probability = .6')
elif currentHour == 9:
print('probability = .7')
elif currentHour == 10:
print('probability = .8')
elif currentHour == 11:
print('probability = .9')
elif currentHour == 12:
print('probability = 1')
elif currentHour == 13:
print('probability = .9')
elif currentHour == 13:
print('probability = .8')
elif currentHour == 14:
print('probability = .7')
elif currentHour == 15:
print('probability = .6')
elif currentHour == 16:
print('probability = .5')
elif currentHour == 17:
print('probability = .4')
elif currentHour == 18:
print('probability = .3')
elif currentHour == 19:
print('probability = .2')
elif currentHour == 20:
print('probability = .1')
elif currentHour == 21:
print('probability = 0')
elif currentHour == 22:
print('probability = 0')
elif currentHour == 23:
print('probability = 0')
elif currentHour == 24:
print('probability = 0')
최소한 사전을 사용하십시오. –
.1을 사용하여 위아래로 이동하는 대신 Box-Mueller 변환을 사용하여 정규 분포로 만들 수 있습니다. 답변은 http://stackoverflow.com/a/75720/509840에서 확인하십시오. 또는 https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform – rajah9
@ rajah9에서 변환 할 수있는 괜찮은 코드가있는 Wikipedia 페이지를 참조하십시오.이 공식은 sin()을 사용하여 제 대답을 봅니다. 줬어. – Fusseldieb