Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 8, 2015 15:24:21

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

unnamed_xd
Раз у тебя такие проблемы, то тебе нужно почитать про алгоритмизацию + попробуй строить блок-схемы перед тем как пишешь код. То есть, делай как учат в (школах, техах, универах), сначала рисуешь блок схему и продумываешь, что тебе надо сделать, а потом уже по этой блок-схеме пишешь код.
В общем учись приводить свои мысли в порядок.

Офлайн

#2 Фев. 9, 2015 08:38:44

unnamed_xd
Зарегистрирован: 2015-02-05
Сообщения: 18
Репутация: +  0  -
Профиль  

Угадай число. Самый новичок.

alex925
Какие есть действительно хорошие книги про алгоритмизацию? Я сейчас пробую строить не блок схемы, а как написано в книге, которую читаю: сначала написать “псевдокод”, то есть выстроить и описать последовательность действий программы человеческим языком, грубо говоря создать план последовательностей.

Офлайн

#3 Фев. 9, 2015 09:14:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

unnamed_xd
сначала написать “псевдокод”
Псевдокод пишется по блок-схеме. Блок-схема строится по словесному описанию. Смысл в том, чтобы на каждом шаге иметь возможность оптимизировать алгоритм до его реализации.



Офлайн

#4 Фев. 9, 2015 10:00:23

unnamed_xd
Зарегистрирован: 2015-02-05
Сообщения: 18
Репутация: +  0  -
Профиль  

Угадай число. Самый новичок.

Сейчас у меня проблема в том, что тяжело читать то, что написал не я. Вот в книге дается пример игры “крестики нолики” и нужно её модифицировать, вроде бы и расписывается что да как работает, а я смотрю на код и понять ничего не могу. Смотрю на функции по отдельности, разбираю их, в итоге понимаю какая функция, что делает. А потом смотрю на общую функцию которая задает последовательность вызова функции и в целом работу программы и понять не могу. То есть не могу сформировать в голове общей картинки происходящего. В общем нужно больше практики и почаще смотреть и разбирать чужие работы.

Офлайн

#5 Фев. 9, 2015 16:55:13

alekscooper
Зарегистрирован: 2015-01-25
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

unnamed_xd
То есть не могу сформировать в голове общей картинки происходящего.

С карандашом надо посидеть Это норм, я думаю.

Офлайн

#6 Фев. 9, 2015 17:17:35

unnamed_xd
Зарегистрирован: 2015-02-05
Сообщения: 18
Репутация: +  0  -
Профиль  

Угадай число. Самый новичок.

alekscooper
Как раз с таким подходом сейчас и занимаюсь.

Офлайн

#7 Фев. 11, 2015 18:46:44

z00t
Зарегистрирован: 2012-09-09
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

unnamed_xd
Вот, как получилось у меня

Я сделал так. Строковый метод lower() добавил уже позже.

import random  
# начальные значения
x = 1
y = 100
the_number = random.randint(x, y)
tries = 1
print("Привет! Давай поиграем в игру.")
print("\nТы загадываешь натуральное число из диапозона от 1 до 100.")
print("А я попытаюсь угадать его за наименьшее число попыток.\n")
input("Готов?")
print("\nИтак, ты загадал число", the_number)
guess = input("Я угадал? (Да/Меньше/Больше): ").lower()
# цикл отгадывания
while guess != "да":
    if guess == "меньше":
            y = the_number-1
            the_number = random.randint(x, y)
            print("\nВозможно, ты загадал число", the_number)
            guess = input("Я угадал? (Да/Меньше/Больше): ").lower()
            tries += 1
    elif guess == "больше":
            x = the_number+1
            the_number = random.randint(x, y)
            print("\nИли, ты загадал число", the_number)
            guess = input("Я угадал? (Да/Меньше/Больше): ").lower()
            tries += 1
    else:
          print("Ну не хочешь играть, как хочешь. Пока!")
          break
if guess == "да":
    print("\nАй да компьютер! Ай да сукин сын!")
    print("Угадал число и всего лишь за", tries, "попыток")
input("\n\nНажмите Enter, чтобы выйти.")

Офлайн

#8 Фев. 11, 2015 20:24:13

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

z00t

print("А я попытаюсь угадать его за наименьшее число попыток.\n")
the_number = random.randint(x, y)
противоречат друг другу



————————————————
-*- Simple is better than complex -*-

Офлайн

#9 Фев. 11, 2015 20:28:03

z00t
Зарегистрирован: 2012-09-09
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

terabayt
противоречат друг другу
Согласен.
Но просто хотелось создать иллюзию игры с человеком. Некий элемент удачи, так сказать.

Офлайн

#10 Фев. 11, 2015 21:36:34

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Угадай число. Самый новичок.

z00t
Но просто хотелось создать иллюзию игры с человеком.
ну эт я понял ))
z00t
print(“\nАй да компьютер! Ай да сукин сын!”)



————————————————
-*- Simple is better than complex -*-

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version