Python/문제

가위, 바위, 보 게임 / 로또 예측 프로그램 만들기

dustKim 2024. 3. 19. 01:28
문제 : 가위, 바위, 보 게임 만들기

위 문제는 두 가지 방법으로 풀었다.

첫 번째

random.choice() 함수

먼저 random.choice() 함수를 사용하여 만들어 보았다. 이 함수를 사용하니 정말 간단하다. (간결하게 적진 못했지만..)

random.choice() 함수는 지정한 범위 내 무작위로 값을 뽑아준다. 그래서 그 값과 우리가 입력한 값을 비교하는 방법으로 if문을 사용하여 만들었다.

 

두 번째

random.random() 함수

이번에는 좀 길다.. 먼저 입력값을 받아주고 가위, 바위, 보를 0, 1, 2 숫자로 바꿔주려고 if문을 사용했고, 그 후 random() 함수로 0, 1, 2 만 나올 수 있게 0 ~ 0.99999..에 10을 곱한 후 4로 나눠줬다. 그리고 float를 int로 변환하면 0 ~ 2까지만 나오게 된다! 문제는 여기서부터였는데, 마지막에 if 문을 사용할 때, 자꾸 else로만 빠져서 중간중간 print() 함수를 활용하여 저 구간에서 어떤 값이 들어오는지 확인한 후 해결했다.

허나 아직 완벽하게 문제를 완성하지는 못했다. 다음에 좀 더 보완한 후 수정할 계획이다.

문제 : 로또 예측 프로그램 만들기

위 문제도 두 가지 방법으로 풀었다.

첫 번째

random.sample() 함수

처음에는 random.randint() 함수를 사용하여 가볍게 문제를 해결하나 싶었는데, 이 함수는 중복되는 부분이 나올 수 있어서 사용할 수 없었다.

두 번째로 random.sample() 함수를 사용하면 지정한 범위 내 중복 없이 숫자를 무작위로 선정해 주기에 문제를 해결할 수 있었다. 하지만 원하는 풀이 방식이 random.random() 함수를 사용하는 것이라 오름차순을 적용하지 않았다.

 

두 번째

random.random() 함수

random.random() 함수를 사용할 때, 중복되는 숫자는 들어가지 말아야 하기 때문에 이중 반복문을 사용했다. 그리고 마지막 return 전에 sort() 함수를 사용해 오름차순으로 정렬해 줬다.