- # 3/4pi*r^3
- #import math
- # def up_low(s):
- #
- # lower = [s[sign].islower() for sign in range(len(s))]
- # print(lower.count(True))
- #
- # upper = [s[sign].isupper() for sign in range(len(s))]
- # print(upper.count(True))
- #
- #
- # up_low('Hello Mr. Rogers, how are you this fine Tuesday?')
- #
- #
- # def unique_list(l):
- # list = []
- # for counter in range(len(l)):
- # if l[counter] not in list:
- # list.append(l[counter])
- # print(list)
- #
- # print(unique_list([1,1,1,1,2,2,3,3,3,3,4,5]))
- #
- # def multiply(numbers):
- # total = 1
- # for number in range(len(numbers)):
- # total *= numbers[number]
- #
- # print(total)
- #
- # multiply([1,2,3,-4])
- # def palindrome(s):
- # if s == s[::-1]:
- # print(True)
- # else:
- # print(False)
- #
- # palindrome('helleh')
- # import string
- #
- # def ispanagram(str1, alphabet=string.ascii_lowercase):
- # counter = 0
- # for sign in range(len(alphabet)):
- # alphabet_length = len(alphabet)
- # if alphabet[sign] in str1:
- # counter += 1
- # continue
- # else:
- # break
- #
- # if alphabet_length == counter:
- # print('Word is panagram')
- # else:
- # print("Word is not panagram")
- #
- # ispanagram('The quick brown fox jumps over the lazy dog')
- # import string
- #
- # def ispanagram(str1, alphabet=string.ascii_lowercase):
- # alphaset = set(alphabet)
- # return alphaset <= set(str1.lower())
- #
- # ispanagram('The quick brown fox jumps over the lazy dog')
- x = 0
- gameboard = [1, 2, 3, 4, 5, 6, 7, 8, 9]
- def display_board(board):
- i = 0
- for loop in range(int(len(board)/3)):
- print("{} | {} | {}".format(board[i], board[i+1], board[i+2]))
- i+=3
- if loop != 2:
- print("---------")
- def player_input():
- global x, gameboard
- if x%2==0:
- print("Plyer1 move(X):")
- else:
- print("Player2 move(O):")
- while True:
- try:
- position = int(input("Choose position(1-9):"))
- if position < 1 or position > 9:
- raise ValueError('You picked wrong number')
- if gameboard[position-1] == 'X' or gameboard[position-1] == 'O':
- print("Field occupied")
- else:
- if x%2==0:
- gameboard[position-1] = 'X'
- display_board(gameboard)
- x += 1
- check_win('X')
- else:
- gameboard[position-1] = 'O'
- display_board(gameboard)
- x += 1
- check_win('O')
- break
- except ValueError:
- print("You picked wrong number")
- def check_win(sign):
- global x
- global gameboard
- flag = 0
- if len(set(gameboard)) == 2:
- print('Draw')
- flag = 1
- if flag != 1:
- for row in range(0,9,3):
- list = []
- for y in range(3):
- list.append(gameboard[row+y])
- if len(list) == 3:
- set_list = set(list)
- if len(set_list) == 1:
- list_sign = set_list.pop()
- if list_sign == sign:
- flag = 1
- print('Player with sign %s won' % sign)
- break
- for columns in range(0,3):
- list = []
- for field in range(0,7,3):
- list.append(gameboard[columns+field])
- if len(list) == 3:
- set_list = set(list)
- if len(set_list) == 1:
- list_sign = set_list.pop()
- if list_sign == sign:
- flag = 1
- print('Player with sign %s won' % sign)
- break
- for diagonal in range(0,2):
- first_diagonal = []
- first_diagonal.append(gameboard[0])
- first_diagonal.append(gameboard[4])
- first_diagonal.append(gameboard[8])
- set_list = set(first_diagonal)
- if len(set_list) == 1:
- list_sign = set_list.pop()
- if list_sign == sign:
- flag = 1
- print('Player with sign %s won' % sign)
- break
- second_diagonal = []
- second_diagonal.append(gameboard[2])
- second_diagonal.append(gameboard[4])
- second_diagonal.append(gameboard[6])
- set_list = set(second_diagonal)
- if len(set_list) == 1:
- list_sign = set_list.pop()
- if list_sign == sign:
- flag = 1
- print('Player with sign %s won' % sign)
- break
- if flag == 1:
- decision = ''
- while decision != 'Y' or decision != 'N':
- decision = input('One more time Y/N?')
- if decision == 'Y':
- x = 0
- gameboard = [1, 2, 3, 4, 5, 6, 7, 8, 9]
- display_board(gameboard)
- player_input()
- elif decision == 'N':
- print('---EXIT---')
- exit(0)
- else:
- print('Wrong decision')
- else:
- player_input()
- display_board(gameboard)
- player_input()