Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2020, 16:14   #1
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию Зачем нужны циклы и массивы ? Программа "книжный магазин"

Задача такая. Есть магазин книг. В нем книга1 за 5 евро, книга2 за 10 евро и книга3 за 15 евро. Зашли три покупателя: бедный,средний класс и богач. Я например введу в программу "start" и она сгенерирует покупку книг. В ячейке книги которую купили, будет "0". А книгу которую не купили,будет в ячейке " 1".
Так ли я понимаю циклы и массивы? Зачем они нужны? Делают ли игры,используя вывод массива?
Код:
import random
bookprice=[5,10,15]
sell=random.randint(1,3)
if sell==1: print (bookprice[0])
if sell==2: print (bookprice[1])
if sell==3: print (bookprice[2])
P.s. код я реализую на Python 3
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"

Последний раз редактировалось Lektorfuja; 10.06.2020 в 18:24.
Lektorfuja вне форума Ответить с цитированием
Старый 10.06.2020, 21:19   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Можно обойтись и без массивов и циклов, но код станет просто огромным, негибким, трудночитаемым. Как раз благодаря массивам спискам можно ваш код написать без всяких if.
Код:
import random
bookprice = [5, 10, 15]
sell = random.randint(1, 3)
print(bookprice[sell - 1])
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 11.06.2020 в 09:46. Причина: Исправил фактическую ошибку
BDA вне форума Ответить с цитированием
Старый 11.06.2020, 08:50   #3
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,378
По умолчанию

Учитывая сам вопрос и его решение, хотелось бы заметить, что в Python нет типа массив.
Есть библиотеки, которые реализуют этот тип данных, например, numpy, но в самом Python их нет.
В решении использован тип - список.
Этот тип позволяет работать с данными, как с массивом, но основное его отличие от массива - это включение данных разного типа:
L = [1, 2, 3] # целого типа
L1 = [1,'1',1.11] # целого, символ (строка), вещественное
Код, для работы с массивом однотипных данных, более эффективен, чем код для работы с массивом в виде списка.

Для начинающего важно понимать, что при реализации алгоритма важную роль имеет и структура данных.
Так же важно понять, что Python - это объектно-ориентированный язык и структура списка, как она записана выше, не хранит сами данные, а только ссылки на объекты (области памяти), в которых хранятся данные.
Т.е. - это динамические структуры, к которым относят и стек, и очередь, и список, и дерево, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зачем в Java нужны все эти "public" и "private"? Vladimir.1982 Общие вопросы по Java, Java SE, Kotlin 26 08.07.2018 11:17
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Зачем у "TStringList" свойству "Count" иметь знаковый тип (Integer) ? malor Общие вопросы Delphi 15 27.04.2013 13:39
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04