This commit is contained in:
louiscklaw
2025-01-31 20:12:48 +08:00
parent 30153eead3
commit 49e275d85d
29 changed files with 3080 additions and 0 deletions

96
ttng1234/Q2/ans.py Normal file
View File

@@ -0,0 +1,96 @@
#!/usr/bin/env python
test_list = [ 21,9,17,10 ]
def fibonacci_sequence(test_number):
# test_number represent the number that sequence should stop at.
# Initialize the sequence with the first two numbers
sequence = [0, 1]
# keep_find setup to let while loop keep find the number sequence
# unless the last generated number (next_num) is greater than the number
# need to be tested.
keep_find = True
# initialize to true to run the while loop at the very first execution
while keep_find:
# after the very first execution, the keep_find may not keep true anymore.
# 1st, 2nd, 3rd, 4th
# 0, 1, 1, 2
# at the first execution, the next_num is the 3rd number
# at the first execution, the sequence[-1] is the 2rd number
# at the first execution, the sequence[-2] is the 1st number
# at the second execution, the next_num is the 4th number
# at the second execution, the sequence[-1] is the 3rd number
# at the second execution, the sequence[-2] is the 2nd number
next_num = sequence[-1] + sequence[-2]
# append the number to the sequence
# append means extend the list to with the value given
# [0,1].append(2) => [0,1,2]
# at the first execution the number appended is at 3rd place
# at the second execution the number appended is at 4th place
sequence.append(next_num)
# test if:
# the last number(next_num) calculated is already larger than the number need to be tested
keep_find = (next_num < test_number)
# test the number if it exist in fibonacci sequence
# return true if the next_num is equal to the test_number
# it is because there are two possibilities of next_num
# next_num > test_number => means the number is not in sequence
# next_num = test_number => means the number is in sequence
return next_num == test_number
def triangular_sequence(test_number):
# Initialize the sequence with the first number
sequence = [1]
# Generate the Triangular sequence
keep_find = True
i = 2
while keep_find:
next_num = sequence[-1] + i
keep_find = next_num < test_number
sequence.append(next_num)
i = i + 1
return next_num == test_number
def square_number_sequence(test_number):
# Initialize the sequence with the first number
sequence = [1]
keep_find = True
i = 2
while keep_find:
next_num = i * i
keep_find = next_num < test_number
i = i + 1
return next_num == test_number
def check_mathematical_series(n: int) -> str:
all_result = []
f_result = fibonacci_sequence(n)
t_result = triangular_sequence(n)
s_result = square_number_sequence(n)
if (f_result):
all_result.append('Fibonacci')
if (t_result):
all_result.append('Triangular')
if (s_result):
all_result.append('Square')
if (all_result == []):
print(f'n = {n}: None')
else:
print(f'n = {n}: '+', '.join(all_result))
for n in test_list:
check_mathematical_series(n)

22
ttng1234/Q2/hand_draft.md Normal file
View File

@@ -0,0 +1,22 @@
# need to setup (minimum, my list)
- setup editor (vscode, windows)
- https://code.visualstudio.com/download
- setup python (windows)
- https://www.python.org/ftp/python/3.11.5/python-3.11.5-embed-amd64.zip
# string
string = '123'
string = 'abc'
# integer
integer = 1
integer = 1234567
# boolean
boolean = True
boolean = False

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env python
import os,sys
print('helloworld')

125
ttng1234/Q2/notes.md Normal file
View File

@@ -0,0 +1,125 @@
### Q2. 25%, Checking mathematical series number
Fibonacci Sequence
Write a Python function named `check_mathematical_series` that takes a positive integer n as input and checks whether the given number belongs to any of the following important mathematical series: `Fibonacci sequence`, `Triangular sequence`, `Square sequence`.
The function should determine the series type and return a string indicating the result.
The possible return values are:
- "Fibonacci" if the number belongs to the Fibonacci sequence.
- "Triangular" if the number belongs to the Triangular sequence.
- "Square" if the number belongs to the Square sequence.
- "None" if the number does not belong to any of the above sequences.
For this question, consider the following definitions for the series:
1. Fibonacci sequence: A series of numbers in which each number (after the first two) is the sum of the two preceding ones. The sequence starts with 0 and 1. For example, the Fibonacci sequence begins as follows: 0, 1, 1, 2, 3, 5, 8, 13, 21, …
```python
def fibonacci_sequence(n):
# Check if the input is valid
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
# Initialize the sequence with the first two numbers
sequence = [0, 1]
# Generate the Fibonacci sequence
for i in range(2, n):
next_num = sequence[-1] + sequence[-2]
sequence.append(next_num)
return sequence
```
2. Triangular sequence: A sequence of numbers in which each term represents the
total number of dots required to form a triangle with that many dots on each side.
The nth term of the triangular sequence is given by the formula (n * (n + 1)) / 2.
For example, the triangular sequence begins as follows: 1, 3, 6, 10, 15, …
```python
def triangular_sequence(n):
# Check if the input is valid
if n <= 0:
return []
# Initialize the sequence with the first number
sequence = [1]
# Generate the Triangular sequence
for i in range(2, n+1):
next_num = sequence[-1] + i
sequence.append(next_num)
return sequence
```
Square number sequence: A sequence of numbers that are the squares of
consecutive integers. For example, the square number sequence begins as follows:
1, 4, 9, 16, 25, 36, ...
Write the check_mathematical_series function and test it with the following values
of n:
- 21
- 9
- 17
- 10
```python
def square_number_sequence(n):
# Check if the input is valid
if n <= 0:
return []
# Initialize the sequence with the first number
sequence = [1]
# Generate the Triangular sequence
for i in range(2, n+1):
next_num = sequence[-1] + i
sequence.append(next_num)
return sequence
```
Print the result for each value of n, indicating the series types to which it belongs.
Using commas (,) if it belongs to more than 1 series.
"None" if it doesn't belong to any of the series.
Your function should have the following signature:
```python
def check_mathematical_series(n: int) -> str:
```
# Your code here
Example output:
```python
n = 21: Fibonacci, Triangular
n = 9: Square
n = 17: None
n = 10: Triangular
```
Note: You can assume that the given n will be a positive integer
Q:
有冇話係邊到學python最好
我睇完data camp都唔識 🙃🙃
覺得自己好蠢。
A:
你方唔方便比份 notes 我望一望?
同埋你係咪理科生?

9
ttng1234/Q2/step1.py Normal file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env python
test_list = [ 21,9,17,10 ]
def check_mathematical_series(n: int) -> str:
print(n)
for n in test_list:
check_mathematical_series(n)

54
ttng1234/Q2/step2.py Normal file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env python
test_list = [ 21,9,17,10 ]
def fibonacci_sequence(test_number):
# test_number represent the number that sequence should stop at.
# Initialize the sequence with the first two numbers
sequence = [0, 1]
# keep_find setup to let while loop keep find the number sequence
# unless the last generated number (next_num) is greater than the number
# need to be tested.
keep_find = True
# initialize to true to run the while loop at the very first execution
while keep_find:
# after the very first execution, the keep_find may not keep true anymore.
# 1st, 2nd, 3rd, 4th
# 0, 1, 1, 2
# at the first execution, the next_num is the 3rd number
# at the first execution, the sequence[-1] is the 2rd number
# at the first execution, the sequence[-2] is the 1st number
# at the second execution, the next_num is the 4th number
# at the second execution, the sequence[-1] is the 3rd number
# at the second execution, the sequence[-2] is the 2nd number
next_num = sequence[-1] + sequence[-2]
# append the number to the sequence
# append means extend the list to with the value given
# [0,1].append(2) => [0,1,2]
# at the first execution the number appended is at 3rd place
# at the second execution the number appended is at 4th place
sequence.append(next_num)
# test if:
# the last number(next_num) calculated is already larger than the number need to be tested
keep_find = (next_num < test_number)
# test the number if it exist in fibonacci sequence
# return true if the next_num is equal to the test_number
# it is because there are two possibilities of next_num
# next_num > test_number => means the number is not in sequence
# next_num = test_number => means the number is in sequence
return next_num == test_number
def check_mathematical_series(n: int) -> str:
print(fibonacci_sequence(n))
for n in test_list:
21, 9, 17, 10
check_mathematical_series(n)

26
ttng1234/Q2/step3.py Normal file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env python
test_list = [ 21,9,17,10 ]
def triangular_sequence(test_number):
# test_number represent the number that sequence should stop at.
# Initialize the sequence with the first number
sequence = [1]
# Generate the Triangular sequence
keep_find = True
i = 2
while keep_find:
next_num = sequence[-1] + i
keep_find = next_num < test_number
sequence.append(next_num)
i = i + 1
return next_num == test_number
def check_mathematical_series(n: int) -> str:
print(triangular_sequence(n))
for n in test_list:
check_mathematical_series(n)

24
ttng1234/Q2/step4.py Normal file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/env python
test_list = [ 21,9,17,10 ]
def square_number_sequence(test_number):
# Initialize the sequence with the first number
sequence = [1]
# Generate the Square sequence
keep_find = True
i = 2
while keep_find:
next_num = i * i
keep_find = next_num < test_number
i = i + 1
return next_num == test_number
def check_mathematical_series(n: int) -> str:
print(square_number_sequence(n))
for n in test_list:
check_mathematical_series(n)

View File

@@ -0,0 +1,9 @@
# CREDIT: https://github.com/shren207/nextjs-docker-compose
# Dockerfile
FROM node:18-buster
RUN mkdir -p /app/node_modules
RUN chown 1000:1000 -R /app
WORKDIR /app
USER 1000:1000

View File

@@ -0,0 +1,5 @@
#!/usr/bin/env bash
set -ex
npm i
npm run start

2117
ttng1234/docker-share/app/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
{
"name": "app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "http-server --cors ./public"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"http-server": "^14.1.1",
"serve": "^14.2.0"
}
}

View File

@@ -0,0 +1 @@
helloworld ttng1234

View File

@@ -0,0 +1,32 @@
# CREDIT: https://github.com/shren207/nextjs-docker-compose
# CREATED: 09-09-2023
services:
ttng1234_share:
container_name: ttng1234_share
build: .
restart: always
volumes:
- $PWD/app:/app
- ttng1234_node_modules:/app/node_modules
working_dir: /app
# command: sleep infinity
command: bash entry.sh
labels:
- "traefik.enable=true"
- "traefik.http.routers.ttng1234-http.rule=Host(`ttng1234.louislabs.com`)"
- "traefik.http.routers.ttng1234-http.entrypoints=web"
- "traefik.http.routers.ttng1234-http.middlewares=ttng1234-https"
- "traefik.http.middlewares.ttng1234-https.redirectscheme.scheme=https"
- "traefik.http.routers.ttng1234.rule=Host(`ttng1234.louislabs.com`)"
- "traefik.http.routers.ttng1234.entrypoints=websecure"
- "traefik.http.routers.ttng1234.tls.certresolver=myresolver"
- "traefik.http.services.ttng1234.loadbalancer.server.port=8080"
networks:
default:
external:
name: traefik-proxy-network
volumes:
ttng1234_node_modules:

View File

@@ -0,0 +1,13 @@
{
"name": "docker-helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"into_docker": "docker compose exec -it test bash"
},
"keywords": [],
"author": "",
"license": "ISC"
}

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
git pull
docker compose pull
docker compose build
docker compose kill
docker compose down
docker compose up -d

7
ttng1234/gitUpdate.bat Normal file
View File

@@ -0,0 +1,7 @@
git status .
@pause
git add .
git commit -m"update ttng1234,"
start git push

Binary file not shown.

View File

@@ -0,0 +1 @@
# \ttng1234

23
ttng1234/meta.md Normal file
View File

@@ -0,0 +1,23 @@
---
tags: [python, colab]
---
# ttng1234
## balance history
原則上我唔想表現到改小小野都要收錢
但係坦白講改完要全部對一轉都係工作量
https://sites.google.com/view/cuhk-stat5106-2023/week-1-7-sept
### quotation
HKD100
即係想睇我用 python 做一次
同埋比個 session 講點寫
係咪咁呀?
我諗我會報 HKD100
今次想收 python 定 colab ?

22
ttng1234/package.json Normal file
View File

@@ -0,0 +1,22 @@
{
"name": "daniel_jo_assignment_student",
"version": "1.0.0",
"description": "",
"main": "index.js",
"directories": {
"doc": "docs"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"gitUpdate": "git add . && git commit -m\"update ttng1234,\" && git push"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@fortawesome/free-solid-svg-icons": "^6.2.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"bootstrap": "^5.2.3",
"react-bootstrap": "^2.6.0"
}
}

Binary file not shown.

BIN
ttng1234/quotation/_img/table1.png (Stored with Git LFS) Normal file

Binary file not shown.

BIN
ttng1234/quotation/_img/table2.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,10 @@
from pprint import pprint
print("please enter number of your choice:")
user_entry = eval(input())
# [user_entry] = [1,2,3,4,5,6]
print('Number of your entry: ', user_entry)
pprint(user_entry[0])
pprint(user_entry[1])
pprint(user_entry[2])
pprint(user_entry[3])

View File

@@ -0,0 +1,109 @@
# ASSIGNMENT 2
## Q1. 25%, Mark Six Simulation
Mark Six introduction
The Mark Six Lottery is a 6 out of 49 lotto game which is conducted by HKJC Lotteries Limited, a subsidiary of The Hong Kong Jockey Club.
After each draw if your entry satisfies some situations, the prize will be paid.
Mark Six Prize Qualification
https://bet.hkjc.com/marksix/userinfo.aspx?lang=en&file=prize_entitlement.asp
| 1st Prize | Pick all the 6 Drawn Numbers | Prize is determined by the total number of winning unit investments in the First Division Prize. The minimum First Division Prize Fund is set at HK$8 million |
| --------- | ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 2nd Prize | Pick 5 Drawn Numbers plus the Extra Number | Prize is determined by the total number of winning unit investments in the Second Division Prize |
| 3rd Prize | Pick 5 Drawn Numbers | Prize is determined by the total number of winning unit investments in the Third Division Prize |
| 4th Prize | Pick 4 Drawn Numbers plus the Extra Number | A fixed prize of $9,600 |
| 5th Prize | Pick 4 Drawn Numbers | A fixed prize of $640 |
| 6th Prize | Pick 3 Drawn Numbers plus the Extra Number | A fixed prize of $320 |
| 7th Prize | Pick 3 Drawn Numbers | A fixed prize of $40 |
### For simplify the question, the prizes are assumed as following:
![](./_img/table1.png)
![](./_img/table2.png)
Task to do
a. Write a function for inputting the list of your entry numbers, and the tuple with list of the draw numbers and the special number,
then outputting the unit prize.
Example:
```
Numbers of your entry: [14, 21, 25, 34, 37, 41]
Numbers of draw: ([21, 25, 34, 37, 41, 46], 14)
Unit prize of your entry: 885990 (2nd prize)
```
Please check in the function: ensure the input formats are as same as the example.
1. `np.random.choice`
1. `np.arange`
1. `np.random.seed(21800000)`
####
#####
######
#
##
###
####
#####
######
#
##
###
####
#####
######
#
##
###
####
#####
######
#
##
###
####
#####
######
#
##
###
####
#####
######

View File

@@ -0,0 +1,140 @@
# NOTE: os and sys are library usually for troubleshooting purpose
import os,sys
import numpy as np
# NOTE: prepare prize table for lookup,
prize_table = [
['1st', 21531600],
['2nd', 885990],
['3rd', 157500],
['4th', 9600],
['5th', 640],
['6th', 320],
['7th', 40],
]
def prize_matching(all_drawn_number, user_entry_nums):
"""
A function that calculates the prize based on matching numbers with user entries.
Parameters:
all_drawn_number (tuple): Tuple containing a list of drawn numbers and an extra number.
user_entry_nums (list): List of user's chosen numbers.
Returns:
list: A list representing the prize won.
"""
# NOTE:
prize = ['',0]
[drawn_numbers, extra_number] = all_drawn_number
# NOTE: find number of match in drawn numbers with user entry numbers
matched_number = 0
for user_num in user_entry_nums:
for drawn_number in drawn_numbers:
if (drawn_number == user_num):
matched_number = matched_number + 1
break
# NOTE: find if any extra number match user entry number
matched_extra_number = 0
for user_num in user_entry_nums:
if (user_num == extra_number):
matched_extra_number = matched_extra_number + 1
break
if (matched_number == 6):
# first_prize = True
prize = prize_table[0]
elif (matched_number == 5 and matched_extra_number == 1):
# second_prize = True
prize = prize_table[1]
elif (matched_number == 5):
# third_prize = True
prize = prize_table[2]
elif (matched_number == 4 and matched_extra_number == 1):
# forth_prize = True
prize = prize_table[3]
elif (matched_number == 4):
# fifth_prize = True
prize = prize_table[4]
elif (matched_number == 3 and matched_extra_number == 1):
# sixth_prize = True
prize = prize_table[5]
elif (matched_number == 3):
# seventh_prize = True
prize = prize_table[6]
else:
# no prize matched
pass
return prize
def print_output(prize_result, user_entry_nums):
# deliver prize message
print("Numbers of your entry: ", user_entry_nums)
print('')
print('Result :')
if (prize_result[1] > 0):
print("Output prize = " + str(prize_result[0]) + " = $" + str(prize_result[1]))
else:
print("No prize given")
pass
keep_asking = True
while keep_asking:
# part a
user_entry_numbers = input("Please entry 6 numbers of your choice:")
user_entry_numbers = eval(user_entry_numbers)
# NOTE: check if number of user entered is not equal to 6
len_equal_to_six = False
if (len(user_entry_numbers) != 6):
print('user entered numbers should be exactly 6')
print('Please input the correct number.')
print()
else:
len_equal_to_six = True
# NOTE: check if each number within range
numbers_are_in_range = True
for user_num in user_entry_numbers:
if (user_num < 1 or user_num > 49):
print('user entered number should be within 1 to 49')
print('Please input the correct number.')
print()
numbers_are_in_range = False
break
if (len_equal_to_six == True and numbers_are_in_range == True):
keep_asking = False
# part b
# drawn 7 numbers
# init seed randomizer
np.random.seed(21800000)
# init empty slot for number
temp_numbers = np.arange(0, 7, 1, dtype=int)
# [1,2,3,4,5,6,7]
temp_numbers = np.random.choice(range(1,49), 7)
# the first 6 number are considered drawn number
# [1,2,3,4,5,6]
drawn_nums = temp_numbers[0:6].tolist()
# the last one considered extra number
# 7
extra_num = temp_numbers[6]
# re-format number to duple
# ([1,2,3,4,5,6],7)
all_drawn_nums = (drawn_nums, extra_num)
# part a
print("all drawn numbers: ", all_drawn_nums)
print("drawn numbers: " , drawn_nums)
print("extra number: " , extra_num)
# part a
result = prize_matching(all_drawn_nums, user_entry_numbers)
print_output(result, user_entry_numbers)

View File

@@ -0,0 +1,188 @@
import os,sys
import numpy as np
prize_table = [
['1st', 21531600],
['2nd', 885990],
['3rd', 157500],
['4th', 9600],
['5th', 640],
['6th', 320],
['7th', 40],
]
def prize_matching(all_drawn_number, user_entry_nums):
# initialize to default output
prize = ['',0]
# all_drawn_number = ([1,2,3,4,...],7)
[drawn_numbers, extra_number] = all_drawn_number
# drawn_numbers = [1,2,3,4,...]
# extra_number = 7
# match drawn number
matched_number = 0
# user_entry_nums = [1,2,3,4,5,6]
for u_num in user_entry_nums:
# 1st loop u_num = 1
# 2nd loop u_num = 2
# drawn_numbers = [1,2,3,4,5,6]
for drawn_number in drawn_numbers:
# 1st loop drawn_number = 1
# 2nd loop drawn_number = 2
if (drawn_number == u_num):
matched_number = matched_number + 1
break
matched_extra_number = 0
# user_entry_nums = [1,2,3,4,5,6]
for user_num in user_entry_nums:
# 1st loop user_num = 1
# 2nd loop user_num = 2
if (user_num == extra_number):
matched_extra_number = matched_extra_number + 1
break
# matched_number = n
# matched_extra_number = n
# refer to HKJC https://bet.hkjc.com/marksix/userinfo.aspx?lang=en&file=prize_entitlement.asp
if (matched_number == 6):
# first_prize = True
prize = prize_table[0]
# prize = ['1st', 21531600]
elif (matched_number == 5 and matched_extra_number == 1):
# second_prize = True
prize = prize_table[1]
# prize = ['2nd', nnnnn]
elif (matched_number == 5):
# third_prize = True
prize = prize_table[2]
elif (matched_number == 4 and matched_extra_number == 1):
# forth_prize = True
prize = prize_table[3]
elif (matched_number == 4):
# fifth_prize = True
prize = prize_table[4]
elif (matched_number == 3 and matched_extra_number == 1):
# sixth_prize = True
prize = prize_table[5]
elif (matched_number == 3):
# seventh_prize = True
prize = prize_table[6]
else:
pass
return prize
def print_output(prize_result, user_entry_nums):
# prize_result = ['1st', 21531600]
# user_entry_nums = [1,2,3,4,5,6]
print("Numbers of your entry: ", user_entry_nums)
# str(prize_result[0]) = '1st'
# str(prize_result[1]) = '21531600'
print("Output prize = " + str(prize_result[0]) + " = $" + str(prize_result[1]))
pass
# number of entry
# Numbers of your entry: [14, 21, 25, 34, 37, 41]
# ask user for numbers
print("please enter number of your choice:")
user_entry = eval(input())
# [user_entry] = [1,2,3,4,5,6]
print('Number of your entry: ', user_entry)
# user_entry[0]
# user_entry[1]
# user_entry[2]
# user_entry[3]
# NOTE: check if number of user entered is not equal to 6
if (len(user_entry) != 6):
print('user entered numbers should be exactly 6')
print('quitting ... ')
sys.exit()
# NOTE: check if each number within range
for user_num in user_entry:
if (user_num < 1 or user_num > 49):
print('user entered number should be within 1 to 49')
print('quitting ... ')
sys.exit()
# Number of draw
# Numbers of draw: ([21, 25, 34, 37, 41, 46], 14)
# init seed randomizer
np.random.seed(21800000)
# init empty slot for number
temp_numbers = np.arange(0, 7, 1, dtype=int)
# drawn 7 numbers
# [1,2,3,4,5,6,7]
temp_numbers = np.random.choice(range(1,49), 7)
# the first 6 number are considered drawn number
# [1,2,3,4,5,6]
drawn_nums = temp_numbers[0:6].tolist()
# the last one considered extra number
# 7
extra_num = temp_numbers[6]
# re-format number to tuple
# ([1,2,3,4,5,6],7)
all_drawn_nums = (drawn_nums, extra_num)
print(all_drawn_nums)
# (1,2) <- duple
# a = (1,2)
# print(a[0]) => 1
# print(a[1]) => 2
# ("A","B","C")
# (1,2,3) <- tuple
# print(a[0]) => 1
# print(a[1]) => 2
# print(a[2]) => 3
# ([1,2,3,4],5) <- tuple
# NOTE: test prize matching
# 1st prize
user_numbers = [1,2,3,4,5,6]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)
# 2
user_numbers = [1,2,7,4,5,6]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)
# 3
user_numbers = [1,9,2,3,4,5]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)
# 4
user_numbers = [1,9,7,3,4,5]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)
# 5
user_numbers = [10,9,1,3,4,5]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)
# 6
user_numbers = [1,9,44,7,4,5]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)
# 7
user_numbers = [1,9,44,45,4,5]
result = prize_matching(([1,2,3,4,5,6],7), user_numbers)
print_output(result, user_numbers)

View File

@@ -0,0 +1,9 @@
import numpy as np
all_drawn_nums = np.random.choice(range(1,49), 7)
drawn_nums = all_drawn_nums[0:6]
extra_num = all_drawn_nums[6]
print("all drawn numbers: ", all_drawn_nums)
print("drawn numbers: " , drawn_nums)
print("extra number: " , extra_num)