나는 싸우는 게임을 만들고 있습니다. 거기에는 두 명의 선수가 있습니다. 그들은 100 HP를 가지고 있으며 그들이 싸울 때 0-100의 공격 수치를 선택합니다. 그들이 가치를 선택하면 공격에 성공할 확률이 100 %가됩니다. 예를 들어 60의 값을 선택하면이 공격에 성공할 확률은 40 %입니다. 도와 주실 수 있습니까? 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다.무언가를 만들 수있는 백분율을 설정하는 방법
답변
0
과 100
사이에서 임의의 숫자를 생성하고 삽입 된 숫자보다 큰지 확인하십시오. 당신이 50를 입력하면
예를 들어, 임의의 숫자가 50 % 감소, 이상 (또는 동일)입니다 50 %의 확률이있다. 10을 입력하면 90 %의 확률로 숫자가 커집니다.
0에서 100까지의 임의의 숫자를 생성하는 random.randrange(101)
를 사용할 수 있습니다. 그렇다면 귀하의 가치에 대한 간단한 비교이며, 귀하가 필요로하는 모든 것이되어야합니다.
0-100은 101의 범위입니다. –
일반적으로, 통계, 확률은 0과 1 사이의 수로서 표현되고, 그래서 0.6 60 %의 확률을 나타낸다. 그런 다음 성공 확률이 0.6 일 경우 0에서 1 사이의 임의의 부동 소수점 수를 선택하고 0.6보다 작거나 같은지 확인하여 성공 여부를 결정할 수 있습니다. 당신이 왼쪽에있는 0과 1-기회 사이에이 라인 - 당신의 임의의 숫자에 임의의 지점을 선택하려는 경우
|-----------------------------------|-----------------------|
0 0.6 1
:
직관적으로, 당신은 그것을 이런 식으로 볼 수 있습니다 의 0.6은 ... 0.6 (60 %)이다.
당신은 이것에 대한 random.uniform
를 사용할 수 있습니다
import random
success_rate_percentage = 60
success = random.uniform(0, 1) <= success_rate_percentage/100.0
이제 간단한 검사로이 경우 제대로 작동 :
이>>> import random
>>> success_count = 0
>>> for _ in range(100000):
... if random.uniform(0, 1) <= 0.6
... success_count += 1
...
>>> success_count
59954
예상되는 결과는 약 0.6 * 100000 = 60000 성공과 실제입니다 결과는 59954이므로 충분히 가깝습니다.
가 '0'을 선택 그렇다면- 1. fillRect 백분율을 설정하는 방법
- 2. 루비의 최대 백분율을 설정하는 방법
- 3. 스크롤 할 수있는 무언가를 그리는 방법?
- 4. 세션이 만료되기 전에 무언가를 할 수있는 방법
- 5. 동적 getter/setter를 만들 수있는 방법
- 6. Java 데몬을 만들 수있는 방법
- 7. 리눅스에서 DSN을 만들 수있는 방법
- 8. 보안 컨트롤러를 만들 수있는 방법
- 9. 여러 프로세스를 만들 수있는 방법
- 10. 세로 스위치를 만들 수있는 방법
- 11. JTabbedPane에서 이중선을 만들 수있는 방법
- 12. Leapmotion으로 아바타를 만들 수있는 방법
- 13. jQuery로 메트로놈을 만들 수있는 방법
- 14. 시간당 배열을 만들 수있는 방법
- 15. 툴팁에 무언가를 그리는 방법?
- 16. PostgreSQL에서 백분율을 수행하는 방법
- 17. 백분율을 계산하는 방법
- 18. 범위에서 백분율을 얻는 방법
- 19. 셸에서 백분율을 계산하는 방법
- 20. 글꼴 백분율을 역전시키는 방법
- 21. 안드로이드의 백분율을 계산하는 방법
- 22. 백분율을 계산하는 방법
- 23. 슬라이더의 백분율을 구하는 방법
- 24. 크기를 재조정 할 수있는 막대의 백분율을 업데이트하십시오.
- 25. JPQL, 무언가를 선택하는 방법
- 26. nsthread에서 무언가를 테스트하는 방법
- 27. 무언가를 로깅하는 방법
- 28. EditText에서 무언가를 표시하는 방법?
- 29. ggplot의 배경에 무언가를 그릴 수있는 방법은 무엇입니까?
- 30. OnAuthorize 전에 무언가를 할 수있는 방법이 있습니까?
... – smac89
나는 당신이 그들을 더 선택하고 싶지 않아 생각? 어쩌면 당신이 그들을 선택할 수 있을까요? 그래서'수입 무작위; random.random() * 100'을 인쇄하십시오. 더 나은'수입 무작위; random.randint (1, 100)' – smac89
그럼, "random 모듈"은 어떻게 작동합니까? 한 가지 질문에 대답 하기엔 너무 어렵습니다. – AJFarmar