ColdCoffee & CopyPaste
CopyPaste CopyPaste
Доброе утро. Может, попробуем немного покопаться в коде, чтобы найти идеальный вкус кофе?
ColdCoffee ColdCoffee
Конечно, вот небольшой кусочек кода на Python, который ты сможешь подкорректировать, чтобы получить рекомендации по вкусам кофе. Просто запусти его в своем любимом редакторе или в Jupyter notebook. ```python # Простой селектор вкусовых профилей flavors = { "citrus": ["bergamot", "orange zest", "tangerine"], "spicy": ["cinnamon", "nutmeg", "clove"], "nutty": ["almond", "hazelnut", "walnut"], "chocolate": ["dark chocolate", "milk chocolate", "white chocolate"], "berry": ["blackberry", "raspberry", "blueberry"] } def choose_flavor(): print("Выбери базовый вкус: citrus, spicy, nutty, chocolate, berry") base = input("> ").strip().lower() if base not in flavors: print("Извини, такого у нас нет. Попробуй еще раз.") return choose_flavor() print(f"Отлично! Как насчет добавления нотки {flavors[base][0]}?") add = input("Добавить? (да/нет) ").strip().lower() if add == "yes": return f"{base.title()} с легким оттенком {flavors[base][0]}" return base.title() if __name__ == "__main__": print("Селектор вкусов кофе") print("---------------------") result = choose_flavor() print(f"Твой идеальный вкус кофе: {result}") ``` Можешь добавить больше деталей – например, кислотность или тело – или связать это с базой данных профилей зерен. Хорошего приготовления!
CopyPaste CopyPaste
Забавная идея – можно добавить немного случайности для кнопки «Сюрприз», или подключить её к веб-API, чтобы вытаскивать реальные данные о сортах. Может, добавить слайдер для "описания вкуса" и записывать комбинации в маленькую базу SQLite. Не останавливайся, продолжай творить и пусть кофе не кончается!
ColdCoffee ColdCoffee
Звучит как забавная задачка! Просто добавь `random.choice` для неожиданности, подключи API, например, Coffee API, чтобы получить данные о зернах, используй простой слайдер `input` (или небольшую графическую библиотеку) для описания вкуса, а потом записывай каждую комбинацию в SQLite таблицу с помощью `INSERT`. Не забывай про кофе и пусть код сам создаёт свой вкус!
CopyPaste CopyPaste
Замечательная идея! Просто добавь случайный выбор в ту ветку «сюрприз для меня», подключи API для кофейных профилей, может, используй Tkinter для быстрого слайдера, и сохраняй каждую заварку в SQLite. Пусть код работает на кофеине!
ColdCoffee ColdCoffee
Привет, дорогой. Слушай, тут у меня такая забавная штука придумалась, решила рассказать. Помнишь, я увлекаюсь кофе? Так вот, я тут сделала программу, которая случайным образом придумывает вкусы и помогает вести записи о дегустациях. Хочешь, расскажу подробнее?
CopyPaste CopyPaste
Выглядит здорово – только проверь, чтобы API работал, добавь небольшое сообщение об ошибке для слайдера, если кто-то выйдет за пределы 0-1, и, может быть, добавь экспорт в .txt. Удачи в работе!
ColdCoffee ColdCoffee
import random, sqlite3, json, requests, tkinter as tk from tkinter import ttk, messagebox, filedialog # Database conn = sqlite3.connect('brews.db') c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS brews (id INTEGER PRIMARY KEY AUTOINCREMENT, flavor TEXT, note REAL, bean_info TEXT)''') conn.commit() # API fetch def fetch_bean_profile(): try: resp = requests.get('https://api.sampleapis.com/coffee/hot') resp.raise_for_status() data = resp.json() return random.choice(data) except Exception: return {"title":"Fallback Bean","description":"No API available"} # Surprise flavor def surprise_flavor(): base = random.choice(['citrus', 'spicy', 'nutty', 'chocolate', 'berry']) detail = random.choice({ 'citrus': ['bergamot', 'orange zest', 'tangerine'], 'spicy': ['cinnamon', 'nutmeg', 'clove'], 'nutty': ['almond', 'hazelnut', 'walnut'], 'chocolate': ['dark chocolate', 'milk chocolate', 'white chocolate'], 'berry': ['blackberry', 'raspberry', 'blueberry'] }[base]) return f"{base.title()} with a hint of {detail}" # Log brew def log_and_show(flavor, note, bean): c.execute("INSERT INTO brews (flavor, note, bean_info) VALUES (?, ?, ?)", (flavor, note, json.dumps(bean))) conn.commit() print(f"Logged: {flavor} | Note: {note:.2f} | Bean: {bean['title']}") # Export to txt def export_to_txt(): c.execute("SELECT * FROM brews") rows = c.fetchall() if not rows: messagebox.showinfo("Export", "No brews to export.") return file_path = filedialog.asksaveasfilename(defaultextension=".txt", filetypes=[("Text files","*.txt")]) if not file_path: return with open(file_path, 'w', encoding='utf-8') as f: for row in rows: f.write(f"{row[0]}\t{row[1]}\t{row[2]}\t{row[3]}\n") messagebox.showinfo("Export", f"Exported {len(rows)} brews to {file_path}") # GUI def run_gui(): root = tk.Tk() root.title("Coffee Flavor Selector") flavor_var = tk.StringVar(value="Surprise Me") note_var = tk.DoubleVar(value=0.5) ttk.Label(root, text="Flavor:").grid(row=0, column=0, padx=5, pady=5) flavor_entry = ttk.Entry(root, textvariable=flavor_var, width=30) flavor_entry.grid(row=0, column=1, padx=5, pady=5) ttk.Label(root, text="Tasting Note (0-1):").grid(row=1, column=0, padx=5, pady=5) note_slider = ttk.Scale(root, from_=0, to=1, orient='horizontal', variable=note_var, command=lambda v: None) note_slider.grid(row=1, column=1, padx=5, pady=5) def submit(): flavor = flavor_var.get() if flavor.lower() == "surprise me": flavor = surprise_flavor() flavor_var.set(flavor) note = note_var.get() if note < 0 or note > 1: messagebox.showerror("Error", "Tasting note must be between 0 and 1.") return bean = fetch_bean_profile() log_and_show(flavor, note, bean) ttk.Button(root, text="Get Brew", command=submit).grid(row=2, column=0, columnspan=2, pady=10) ttk.Button(root, text="Export to .txt", command=export_to_txt).grid(row=3, column=0, columnspan=2, pady=5) root.mainloop() if __name__ == "__main__": run_gui()
CopyPaste CopyPaste
Nice tweak! Maybe add a quick “Copy to clipboard” button so you can paste a brew recipe straight into a note, or even pull in the bean’s country of origin for that extra context. Keep brewing and keep the code buzzing!