Skip to content
2 changes: 2 additions & 0 deletions pmi/2016/Kungurceva/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#Кунгурцева Алина Викторовна
Вариант 7
7 changes: 7 additions & 0 deletions pmi/2016/Kungurceva/task1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#Задача 1. Вариант 7.
#Напишите программу, которая будет сообщать род деятельности и псевдоним под которым скрывается Эдуард Георгиевич Зюбин. После вывода информации программа должна дожидаться пока пользователь нажмет Enter для выхода.
#Кунгурцева А.В.
#15.03.2017
print ("Задача 1")
print ("Эдуард Георгиевич Зюбин - писатель, известный под псевдонимом \"Бедный Демьян\"")
input ("\nНажмите Enter для выхода")
72 changes: 72 additions & 0 deletions pmi/2016/Kungurceva/task10.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#Задача 10. Вариант 7.
#апишите программу "Генератор персонажей" для игры. Пользователю должно быть предоставлено 30 пунктов,
#которые можно распределить между четырьмя характеристиками: Сила, Здоровье, Мудрость и Ловкость.
#Надо сделать так, чтобы пользователь мог не только брать эти пункты из общего "пула", но и возвращать
#их туда из характеристик, которым он решил присвоить другие значения.
#Кунгурцева А.В.
#09.04.2017
balls = 30
scores = {"Сила":"0","Здоровье":"0","Мудрость":"0","Ловкость":"0"}
punkts = 0
choice = None
print(
""" Добро пожаловать в программу "Генератор персонажей"!
Вам предоставлено 30 пунктов, которые вы можете распределить
между следующими характеристиками: Сила, Здоровье, Мудрость, Ловкость.
"""
)
while choice != 0 :
print(
"""Меню

0 - Выход
1 - Добавить пункты
2 - Убрать пункты
3 - Просмотреть характеристики
""")
choice = int(input("Выберите интересующий Вас пункт меню: "))
if choice == 0 :
print("\nДо свидания.")
elif choice == 1 :
print("Для добавления пунктов Вам доступны следующие характеристики:\n")
for item in scores :
print(item)
char = str(input("\nВведите название интересующей Вас характеристики: "))
char = char.title()
while char not in scores :
print("Такой характеристики нет.")
char = str(input("\nПопробуйте ещё раз: "))
char = char.title()
else :
print("\nДоступно:", balls, "пунктов.")
punkts = int(input("\nВведите количество пунктов для добавления к выбранной характеристики: "))
while (punkts > balls) or (punkts < 0) :
print("Недопустимое значение")
punkts = int(input("\nВведите другое значение, не превышающее количество доступных пунктов: "))
scores[char] = punkts
print("\n", punkts, "пунктов было добавлено к '",char,"'\n")
balls -= punkts
elif choice == 2 :
print("\nДля удаления пунктов Вам доступны следующий характеристики:\n ")
for item in scores:
print(item)
char = str(input("\nВведите название интересующей Вас характеристики: "))
char = char.title()
while char not in scores :
print("Такой характеристики нет.")
char = str(input("\nПопробуйте ещё раз: "))
char = char.title()
else :
print("\nДоступно", scores[char], "пунктов:")
punkts = int(input("\nВведите количество пунктов для удаления из выбранной характеристики: "))
while (punkts > int(scores[char])) or (punkts < 0) :
print("Недопустимое значение.")
punkts = int(input("\nВведите значение, не превышающее доступное количество пунктов: "))
scores[char] = punkts
print("\n", punkts, "пунктов было удалено из '",char,"'\n")
elif choice == 3 :
for item in scores :
print(item, " = ", scores[item])
else :
print("\nВыбранного вами пункта нет в меню.\n")
input ("")
139 changes: 139 additions & 0 deletions pmi/2016/Kungurceva/task12.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
#Задача 12. Вариант 7.
#1-50. Разработайте игру "Крестики-нолики". (см. М.Доусон Программируем на Python гл. 6).
#Кунгурцева А.В.
#10.04.2017
X = "X"
O = "O"
EMPTY = " "
TIE = "Ничья"
NUM_SQUARES = 9

def display_instr():
print("Инструкция")

def ask_yes_no(question):
respone = None
while respone not in ("y","n"):
respone = input(question).lower()
return respone

def ask_number(question, low, high):
respone = None
while respone not in range(low,high):
respone = int(input(question))
return respone

def pieces():
go_first = ask_yes_no("Хочешь ходить первым? Выбери 'y' - да, 'n' - нет: ")
if go_first == "y":
print("""
Ты ходишь крестиками: 0 | 1 | 2
----------
3 | 4 | 5
----------
6 | 7 | 8 """)
human = X
computer = O
else:
print("""
Ты ходишь ноликами: 0 | 1 | 2
----------
3 | 4 | 5
----------
6 | 7 | 8 """)
human = O
computer = X
return computer,human


def new_board():
board=[]
for square in range(NUM_SQUARES):
board.append(EMPTY)
return board

def display_board(board):
print("\n\t",board[0],"|",board[1],"|", board[2])
print("\t","----------")
print("\n\t",board[3],"|",board[4],"|", board[5])
print("\t","----------")
print("\n\t",board[6],"|",board[7],"|", board[8], "\n")

def legal_moves(board):
moves=[]
for square in range(NUM_SQUARES):
if board[square] == EMPTY:
moves.append(square)
return moves

def winner(board):
WAYS_TO_WIN = ((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))
for row in WAYS_TO_WIN:
if board[row[0]] == board[row[1]]==board[row[2]] != EMPTY:
winner = board[row[0]]
return winner

def human_move(board,human):
legal = legal_moves(board)
move = None
while move not in legal:
move = ask_number("Твой ход. Выбери поля (0-8):", 0, NUM_SQUARES)
if move not in legal:
print("Это поле уже занято!")
return move

def computer_move(board, computer, human):
board = board[:]
BEST_MOVES=(4,0,2,6,8,1,3,5,7)
print("Я выбираю поле номер", end = " ")
for move in legal_moves(board):
board[move]=human
if winner(board) == human:
print(move)
return move
board[move] = EMPTY
for move in legal_moves(board):
board[move]=human
if winner(board) == human:
print(move)
return move


def next_turn(turn):
if turn==X:
return O
else:
return X

def congrat_winner(the_winner, computer, human):
if the_winner != TIE:
print("Три", the_winner, "в ряд")
else:
print("Ничья")
if the_winner == computer:
print("Я победил!")
elif the_winner == human:
print("Ты победил!")
elif the_winner == TIE:
print("Ничья.")

def main():
display_instr()
computer, human = pieces()
turn = X
board = new_board()
display_board(board)
while not winner(board):
if turn == human:
move = human_move(board,human)
board[move]=human
else:
move = computer_move(board,computer,human)
board[move] = computer
display_board(board)
turn=next_turn(turn)
the_winner = winner(board)
congrat_winner(the_winner, computer, human)

main()
input("Нажмите Enter, чтобы выйти")
8 changes: 8 additions & 0 deletions pmi/2016/Kungurceva/task2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Задача 2. Вариант 7.
#Напишите программу, которая будет выводить на экран наиболее понравившееся вам высказывание, автором которого является Стендаль. Не забудьте о том, что автор должен быть упомянут на отдельной строке.
#Кунгурцева А.В.
#15.03.2017
print ("Задача 2")
print ("\nВ мире чувства есть лишь один закон — составить счастье того, кого любишь.")
print ("\n\t\t\t\t\t\t\t\t\tСтендаль")
input ("")
12 changes: 12 additions & 0 deletions pmi/2016/Kungurceva/task3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#Задача 3. Вариант 7.
#Напишите программу, которая выводит имя "Мэри Анн Эванс", и запрашивает его псевдоним. Программа должна сцеплять две эти строки и выводить полученную строку, разделяя имя и псевдоним с помощью тире.
#Кунгурцева А.В.
#15.03.2017
print ("Задача 3")
name = 'Мэри Анн Эванс'
print ("\nЗнаете ли вы",name,"?")
nickname = input ("Напишите её псевдоним\n")
tir = ' - '
itog = name + tir + nickname
print ("Получится:", itog)
input ("")
17 changes: 17 additions & 0 deletions pmi/2016/Kungurceva/task4.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#Задача 4. Вариант 7.
#Напишите программу, которая выводит имя, под которым скрывается Мария Луиза Чеччарелли. Дополнительно необходимо вывести область интересов указанной личности, место рождения, годы рождения и смерти (если человек умер), вычислить возраст на данный момент (или момент смерти). Для хранения всех необходимых данных требуется использовать переменные. После вывода информации программа должна дожидаться пока пользователь нажмет Enter для выхода.
#Кунгурцева А.В.
#15.03.2017
print ("Задача 4")
name = 'Мария Луиза Чеччарелли'
intrestings = 'искусство'
realname = 'Моника Витти'
place = 'Рим, Италия'
yearb = 1931
years = 85
print (name, "более известна, как итальянская актриса", realname, ".")
print ("Место рождения:", place)
print ("Год рождения", yearb)
print ("Возраст:", years)
print ("Область интересов:", intrestings)
input ("\n\nНажмите Enter для выхода")
23 changes: 23 additions & 0 deletions pmi/2016/Kungurceva/task5.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#Задача 5. Вариант 7.
#Напишите программу, которая бы при запуске случайным образом отображала имя одного из семи гномов, друзей Белоснежки.
#Кунгурцева А.В.
#15.03.2017
import random
print ("Задача 5")
print ("\nПрограмма случайным образом отображает имя одного из семи гномов:\n")
name = random.randint(1,7)
if name == 1 :
print ("Умник")
elif name == 2 :
print ("Ворчун")
elif name == 3 :
print ("Весельчак")
elif name == 4 :
print ("Соня")
elif name == 5 :
print ("Скромник")
elif name == 6 :
print ("Чихун")
elif name == 7 :
print ("Простак")
input ("\nНажмите Enter для выхода")
20 changes: 20 additions & 0 deletions pmi/2016/Kungurceva/task6.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#Задача 6. Вариант 7.
#Создайте игру, в которой компьютер загадывает имя одного из двух сооснователей компании Google, а игрок должен его угадать.
#Кунгурцева А.В.
#15.03.2017
import random
print ("Задача 6")
print ("\nПрограмма случайным образом загадывает имя одного из сооснователей компании Google, а игрок должен его угадать\n")
name = random.randint(1,2)
name1 = 'Ларри Пейдж'
name2 = 'Сергей Брин'
if name == 1 :
right = name1
else :
right = name2
password = input("Назовите имя одного из сооснователей Google:\n")
if password == right :
print ("Ответ верный, поздравляем!")
else :
print ("Вы не угадали! Правильный ответ:", right)
input ("\nНажмите Enter для выхода")
26 changes: 26 additions & 0 deletions pmi/2016/Kungurceva/task7.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#Задача 7. Вариант 7.
#Разработайте систему начисления очков для задачи 6, в соответствии с которой игрок получал бы большее количество баллов за меньшее количество попыток.
#Задача 6: Создайте игру, в которой компьютер загадывает имя одного из двух сооснователей компании Google, а игрок должен его угадать.
#Кунгурцева А.В.
#15.03.2017
import random
print ("Задача 7")
print ("\nПрограмма случайным образом загадывает имя одного из сооснователей компании Google, а игрок должен его угадать\n")
print ("Чем меньше попыток вы используете, тем больше баллов заработаете.")
name = random.randint(1,2)
name1 = 'Ларри Пейдж'
name2 = 'Сергей Брин'
tries = 1
balls = 100
if name == 1 :
right = name1
else :
right = name2
password = input("Ваше предположение:\n")
while password != right :
balls -= 10
tries +=1
password = input("Назовите имя одного из сооснователей Google:\n")
print("Baм удалось отгадать имя! Зто в самом деле", right)
print("Bы затратили на отгадывание всего лишь ", tries, " попыток! И получили", balls, "баллов\n")
input("\nНажмите Enter для выхода")
35 changes: 35 additions & 0 deletions pmi/2016/Kungurceva/task8.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#Задача 8. Вариант 7.
#Доработайте игру "Анаграммы" (см. М.Доусон Программируем на Python. Гл.4) так, чтобы к каждому слову полагалась подсказка. Игрок должен получать право на подсказку в том случае, если у него нет никаких предположений. Разработайте систему начисления очков, по которой бы игроки, отгадавшие слово без подсказки, получали больше тех, кто запросил подсказку.
#Кунгурцева А.В.
#08.04.2017
import random
WORDS = ("ромашка", "одуванчик", "роза", "колокольчик")
word = random.choice(WORDS)
correct = word
jumble = " "
balls = 100
help = word[0] + word[1] + word[2]
while word :
position = random.randrange(len(word))
jumble += word[position]
word = word[:position] + word[(position + 1):]
print("""
Добро пожаловать в игру "Анаграммы"!
Надо переставить буквы так, чтобы получилось осмысленное слово.
Если вам потребуется подсказка, введите "Не знаю"
Но тогда вы не сможете получить максимальный балл (100)
(Для выхода нажмите Enter, не вводя своей версии.)
""")
print("Вот анаграмма: ", jumble)
guess = input("\nПопробуйте отгадать исходное слово: ")
while (guess != correct) and (guess != "") and (balls >= 0) :
if guess == "Не знаю":
balls -= 50
print ("Вы воспользовались подсказкой, первые три буквы - ", help )
guess = input ("Попробуйте отгадать слово снова: ")
else:
print("Вы не правы.")
guess = input ("Попробуйте отгадать слово снова: ")
if guess == correct :
print("Верно! Вы отгадали слово и набрали ", balls, " баллов.")
input ("Нажмите Enter, чтобы выйти ")
Loading