Прикреплённый файл «2013-11-15-ugad1.py»

Загрузка

   1 #!/usr/bin/env python
   2 # coding: utf
   3 '''
   4 «Угадай число». Человек загадывает число, программа отгадывает, задавая вопросы вида «это число меньше 100?» и т. д.
   5 
   6 Визуализация на PyGame
   7 Для простоты можно считать, что число загадывается в диапазоне от -300 до 300
   8 '''
   9 
  10 import pygame
  11 W,H=(610,610)
  12 
  13 pygame.init()
  14 scr=pygame.display.set_mode((W,H))
  15 C,R,G=pygame.Color("goldenrod"),pygame.Color("red"),pygame.Color("forestgreen")
  16 
  17 raw_input("Задумайте целое число в диапазоне от -300 до 300 и нажмите «Enter» ")
  18 MinMax=(-301,301)
  19 Yes=("Yes","yes","y","Y","ДА","Да","да")
  20 oldGuess=Guess=0
  21 Stage,dS,cr=1,20,4
  22 while MinMax[1]-MinMax[0]>2:
  23     YN=raw_input("Число больше {0}? ".format(Guess))
  24     # Если что-то случилось, экран надо перерисовать
  25     Last,MinMax=YN in Yes and (1,(Guess,MinMax[1])) or (0,(MinMax[0],Guess+1))
  26     oldGuess,Guess=Guess,(Guess+MinMax[Last])/2
  27     Stage+=dS
  28     pygame.draw.line(scr,C,(oldGuess+W/2,Stage-dS),(Guess+W/2,Stage))
  29     pygame.draw.circle(scr,R,(Guess+W/2,Stage),cr)
  30     pygame.display.flip()
  31 
  32 print "Ответ — {0}".format((MinMax[1]+MinMax[0])/2)
  33 pygame.draw.circle(scr, G, (Guess+W/2,Stage),cr)
  34 
  35 while pygame.event.wait().type != pygame.QUIT:
  36     pygame.display.flip()

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.