Сообщения

Сообщения за июль, 2017

10.2

#Guess number in graphic import random from tkinter import * class Application(Frame):   the_number=0   def __init__(self, master):     super(Application, self).__init__(master)     self.grid()     self.create_widgets()   def create_widgets(self):     #create instruction label     self.inst_lbl=Label(self, text = "Try to guess number from 1 to 100")     self.inst_lbl.grid(row=0, column = 0, columnspan = 2, sticky = W)     # create newgame button     self.newgame_bttn = Button(self, text = "     new game     ", command = self.new_game)     self.newgame_bttn.grid(row = 1, column = 0, columnspan=3, sticky = W)     #create label for guess     self.guess_lbl=Label(self, text = "Your guess: ")     self.guess_lbl.grid(row=2, column = 0, columnspan = 1, sticky = W)     # create entry widget to accept attempt     self.gu_ent= Entry(self)     self.gu_ent.grid(row=2, column=1, columnspan=1, sticky = W)     # create submit button    

Майкл Доусон - Программируем на Python 8 глава задача 4

Напишите программу «Зооферма», в которой будет создано несколько объектов класса Critter, а манипулировать ими всеми можно будет с помощью списка. Теперь пользователь должен заботиться не об одной зверюшке, а обо всех обитателях зоофермы. Выбирая пункт в меню, пользователь выбирает действие, которое хотел бы выполнить со всеми зверюшками: покормить их, поиграть с ними или узнать об их самочувствии. Чтобы программа была интереснее, при создании каждой зверюшки следует назначать ей случайно выбранные уровни голода и уныния. # Farm Caretaker # A virtual farm to care for import random class Farm(object):     """A virtual pet"""     def __init__(self, name):#Метод конструктор         self.name = name         self.hunger = random.randint(0, 16)         self.boredom = random.randint(0, 16)           def __str__(self):#Метод вывода на экран         rep = 'Name: ' + self.name + '\n' + 'Hunger: ' + str(self.hunger) + '\n&#

Майкл Доусон - Программируем на Python 8 глава задача 3

Задача 3 Создайте в программе «Моя зверюшка» своего рода «черный ход» - способ увидеть точные значения числовых атрибутов объекта. Сделайте в меню секретный пункт, который подсказка не будет отражать, и, если пользователь его выберет, выводите объект на экран (для этого в классе Critter должен быть реализован специальный метод _str_()). #После метода init def __str__(self):         rep = 'Name: ' + self.name + '\n' + 'Hunger: ' + str(self.hunger) + '\n' + 'Boredom: ' + str(self.boredom)         return rep _____________________________________        # play with your critter         elif choice == "3":             crit.play()         #secret         elif choice =="4":             print(crit)          # some unknown choice         else:             print("\nSorry, but", choice, "isn't a valid choice.")

Майкл Доусон - Программируем на Python 8 глава задача 2

Создайте программу, имитирующую телевизор как объект. У пользователя должна быть возможность вводить номер канала, а также увеличивать и уменьшать громкость. Программа должна следить за тем, чтобы номер канала и уровень громкости оставались в допустимых пределах. class TV(object):   def __init__(self, program=0, volume=0):     self.volume=0     self.program=0     def __str__(self):     rep="Now volume: "+str(self.volume)+"  program: "+str(self.program)     return rep   def check(self,st='', numb=None):     while  numb==None:       try:         numb=int(input(st))       except:         print('Try again')     return numb   def increase_volume(self, vol=-1):     while vol<0:       vol=self.check(st='How many? Write from 0  to 100 ' )     self.volume+=vol     if self.volume>100:       self.volume=100       def turndown_volume(self, vol=1):     while vol>0:       vol=self.check(st='How many? Write from 

Майкл Доусон - Программируем на Python 8 глава задача 1

Задача 1 Доработайте программу «Моя зверюшка» так, чтобы пользователь мог сам решить, сколько еды скормить зверюшке и сколько времени потратить на игру с ней (в зависимости от передаваемых величин зверюшка должна неодинаково быстро насыщаться и веселеть).      def number(self, number=-1):                  while number<0:           number=int(input('How many? Write from 0 to infinity '))         return number        def eat(self, food=0 ):         food = self.number()         print("Brruppp.  Thank you.")         self.hunger -= food         if self.hunger < 0:             self.hunger = 0         self.__pass_time()     def play(self, fun=0 ):         fun = self.number()         print("Wheee!")         self.boredom -= fun         if self.boredom < 0:             self.boredom = 0         self.__pass_time()

Майкл Доусон - Программируем на Python 7 глава

Задача 3 Может потом доработаю Реализуйте ту же самую функциональность, что и в предыдущей задаче, иным способом: на этот раз сохраните список рекордов в обычном текстовом файле. Программа сохраняет только 1 самый высокий результат Создать файл с расширением txt, записать в него: nobody 0 Сохранить в директории с программой _________________________________________________________________ Добавить эти функции после первой (def open_file(file_name, mode):) def write_score(name, score):     score_file = open_file("highscores.txt", "w")     score_file.write(str(name))     score_file.write('\n')     score_file.write(str(score))     score_file.close()   def check_score(score):     score_file = open_file("highscores.txt", "r")     x=score_file.readline()     y=int(score_file.readline())     if y>score:         print("Now the highest score is: ", y, "by ", x)         score_file.close()     else

Майкл Доусон - Программируем на Python 7 глава

Задача 2 Доработайте игру «Викторина» таким образом, чтобы она хранила в файле список рекордов. В список должны попадать имя и результат игрока-рекордсмена. Используйте для хранения таблицы рекордов консервированный объект. Для работы программы требуется предварительно создать файл highscores2.dat вручную(и записать в него {'nobody':0}) или с помощью отдельной программы(удобно обнулять для отладки): import pickle score = {'nobody':0} f = open("highscores2.dat", "wb") pickle.dump(score, f) f.close() Отличия от оригинальной программы: import sys, pickle, shelve ____________________________________________ После функции def open_file(file_name, mode) вставляем: def check_score(score):     score_file = open_file("highscores2.dat", "rb") #открываем файл     records=pickle.load(score_file) #копируем в словарь     score_file.close()           listt=list(records.keys()) #ключи словаря переводим в список     for i i

Майкл Доусон - Программируем на Python 7 глава

Задача 1 Изменения оригинальной программы выделены Номинал вопросам я присвоила по их номеру def main():     trivia_file = open_file("trivia.txt", "r")     title = next_line(trivia_file)     welcome(title)     score = 0     rating = 0     # get first block     category, question, answers, correct, explanation = next_block(trivia_file)     while category:         rating+=1         # ask a question         print(category)         print(question)         for i in range(4):             print("\t", i + 1, "-", answers[i])         # get answer         answer = input("What's your answer?: ")         # check answer         if answer == correct:             print("\nRight!", end=" ")             score += rating

Майкл Доусон - Программируем на Python 6 глава

Изображение
Задача 4 Хз как решить, но вот это похоже на правду начало ответ с добавлениями