Форум сайта python.su
0
Здравствуйте, форумчане!
Только делаю первые шаги в изучении Питона. Читаю “Программируем на Python” Майкла Доусона. Глава третья, одна из задач после прочтения этой главы:
Напишите на псевдокоде алгоритм игры, в которой случайное число от 1 до 100 загадывает человек, а отгадывает компьютер. Прежде чем приступать к решению, задумайтесь над тем, какой должна быть оптимальная стратегия отгадывания. Если алгоритм на псевдокоде будет удачным, попробуйте реализовать игру на Pythoп.
#!/usr/bin/env python # -*- coding: utf-8 -*- # # komp_ugadivaet__chislo.py # # Пользователь загадывает число от 1 до 100 # и в зависимости от ответа < > предлагает другие числа import random print(' Загадайте число от 1 до 100') print('Если загаданное число меньше - ставить "m", если число больше - ставить "b" \n Если число угадано - написать "yes"') # Начальные границы x = 1 y = 100 z = random.randint(x,y) number_z=str('yes') print('Это число',z,'?') number_z = input(str('Ваш ответ: ')) while number_z != str('yes'): # Если загаданное число меньше if number_z == str('m'): # Убираем границу рандома до высветившего числа и минусуем, что бы это число случайно не выводилось в ответ y = z-1 # Новые границы рандома z = random.randint(x,y) print('Это', z, '?') elif number_z == str('b'): # Аналог с точностью наоборот x = z+1 z = random.randint(x,y) print('Это', z, '?') number_z = input(str('Ваш ответ: ')) # Подтверждение правильного ответа if number_z == str('yes'): print('Ура!')
Офлайн
3
http://python.su/forum/search/?action=search&keywords=%D1%83%D0%B3%D0%B0%D0%B4%D0%B0%D0%B9+%D1%87%D0%B8%D1%81%D0%BB%D0%BE&author=&forum=0&search_in=all&sort_by=0&sort_dir=DESC&show_as=topics
str() не нужна, у Вас input() и так строку возвращает.
Офлайн
0
ну молодчага,старания всегда оправданы
Офлайн
0
Kon52
http://python.su/forum/search/?action=search&keywords=%D1%83%D0%B3%D0%B0%D0%B4%D0%B0%D0%B9+%D1%87%D0%B8%D1%81%D0%BB%D0%BE&author=&forum=0&search_in=all&sort_by=0&sort_dir=DESC&show_as=topicsstr() не нужна, у Вас input() и так строку возвращает.
Офлайн
3
http://python.su/forum/topic/26233/
http://python.su/forum/topic/3877/
http://python.su/forum/topic/23545/
http://python.su/forum/topic/16156/
yranius
При назначении переменной надо указывать тип.
# Начальные границы x = 1 y = 100
Офлайн
0
Такс.. Здорово!
Мне поиск на форуме не выдавал эти топики. ((
Kon52Извиняюсь, я не уточнил про какую переменную написал. Имелось вот эта: number_z=str('yes')
Почему тип не указали?
Это я к чему.. У Вас с базой кисло, полиморфизм, встроенные функции- это прям нужно понимать и знать.
# coding: utf-8 import random print(' Загадайте число от 1 до 100') print( "Если загаданное число меньше - ставить \"m\",если больше - ставить \"b\" \n Если число угадано - написать \"yes\"") # Начальные границы x = 1 y = 100 z = random.randint(x, y) print("Это число", z, "?") number_z = input("Ваш ответ ") while number_z != "yes": if number_z == "m": y = z - 1 z = random.randint(x, y) print("Это", z, "?") elif number_z == "b": x = z + 1 z = random.randint(x, y) print("Это", z, "?") number_z = input("Ваш ответ: ") if number_z == "yes": print("Ура!")
Отредактировано yranius (Окт. 28, 2015 18:16:54)
Офлайн