Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Administrator
/
lesson5_7
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
30aa7c8b
authored
Apr 08, 2021
by
BellCodeEditor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save project
parent
99c83828
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
112 additions
and
0 deletions
;lkj.py
diy2.py
;lkj.py
0 → 100644
View file @
30aa7c8b
def
print_board
(
board
):
print
"The board look like this:
\n
"
for
i
in
range
(
3
):
print
" "
,
for
j
in
range
(
3
):
if
board
[
i
*
3
+
j
]
==
1
:
print
'X'
,
elif
board
[
i
*
3
+
j
]
==
0
:
print
'O'
,
elif
board
[
i
*
3
+
j
]
!=
-
1
:
print
board
[
i
*
3
+
j
]
-
1
,
else
:
print
' '
,
if
j
!=
2
:
print
" | "
,
print
if
i
!=
2
:
print
"-----------------"
else
:
print
def
print_instruction
():
print
"Please use the following cell numbers to make your move"
print_board
([
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
])
def
get_input
(
turn
):
valid
=
False
while
not
valid
:
try
:
user
=
raw_input
(
"Where would you like to place "
+
turn
+
" (1-9)? "
)
user
=
int
(
user
)
if
user
>=
1
and
user
<=
9
:
return
user
-
1
else
:
print
"That is not a valid move! Please try again.
\n
"
print_instruction
()
except
Exception
as
e
:
print
user
+
" is not a valid move! Please try again.
\n
"
def
check_win
(
board
):
win_cond
=
((
1
,
2
,
3
),(
4
,
5
,
6
),(
7
,
8
,
9
),(
1
,
4
,
7
),(
2
,
5
,
8
),(
3
,
6
,
9
),(
1
,
5
,
9
),(
3
,
5
,
7
))
for
each
in
win_cond
:
try
:
if
board
[
each
[
0
]
-
1
]
==
board
[
each
[
1
]
-
1
]
and
board
[
each
[
1
]
-
1
]
==
board
[
each
[
2
]
-
1
]:
return
board
[
each
[
0
]
-
1
]
except
:
pass
return
-
1
def
quit_game
(
board
,
msg
):
print_board
(
board
)
print
msg
quit
()
def
main
():
# setup game
# alternate turns
# check if win or end
# quit and show the board
print_instruction
()
board
=
[]
for
i
in
range
(
9
):
board
.
append
(
-
1
)
win
=
False
move
=
0
while
not
win
:
# print board
print_board
(
board
)
print
"Turn number "
+
str
(
move
+
1
)
if
move
%
2
==
0
:
turn
=
'X'
else
:
turn
=
'O'
# get user input
user
=
get_input
(
turn
)
while
board
[
user
]
!=
-
1
:
print
"Invalid move! Cell already taken. Please try again.
\n
"
user
=
get_input
(
turn
)
board
[
user
]
=
1
if
turn
==
'X'
else
0
# advance move and check for end game
move
+=
1
if
move
>
4
:
winner
=
check_win
(
board
)
if
winner
!=
-
1
:
out
=
"The winner is "
out
+=
"X"
if
winner
==
1
else
"O"
out
+=
" :)"
quit_game
(
board
,
out
)
elif
move
==
9
:
quit_game
(
board
,
"No winner :("
)
if
__name__
==
"__main__"
:
main
()
\ No newline at end of file
diy2.py
0 → 100644
View file @
30aa7c8b
for
i
in
range
(
1
,
10
):
for
j
in
range
(
1
,
i
+
1
):
print
(
j
,
"x"
,
i
,
"="
,(
j
*
i
),
end
=
" "
)
print
()
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment