Продолжим расширять наши знания.
Файловый ввод-вывод реализуется стандартными функциями языка. Файлы читаются по строкам, пишутся по символам.
Например:
В данном коде мы открываем фаил и сразу закрываем.
open() может иметь в качестве второго аргумента:
-"r", если нужно просто прочитать файл
-"w ", если нужно удалить все и записать новое.
-"a ", если нужно добавить в файл записи.
Также есть комбинированные режимы, например "rw".
С read и write разберетесь.
Файловый ввод-вывод реализуется стандартными функциями языка. Файлы читаются по строкам, пишутся по символам.
Например:
fail=open("somefile.txt", "r")
file.close()В данном коде мы открываем фаил и сразу закрываем.
open() может иметь в качестве второго аргумента:
-"r", если нужно просто прочитать файл
-"w ", если нужно удалить все и записать новое.
-"a ", если нужно добавить в файл записи.
Также есть комбинированные режимы, например "rw".
С read и write разберетесь.
Дз:
Сделать текстовый файл в который бот будет добавлять список людей, что написали боту и цену, которую они предложили.
Сделать текстовый файл в который бот будет добавлять список людей, что написали боту и цену, которую они предложили.
Ок, кто сделает дз(все 3,что были по ботам и это) верно раньше всех, получит шоколадку от меня.
👍3
bot.polling(none_stop=True, interval=0)
Допустим если написать это в конец то будет лучше.
from random import randint
import telebot
from telebot import types
bot=telebot.TeleBot("")
pamet = ["Name","Sell"]
@bot.message_handler(content_types=['photo'])
def get_photo(message):
sell = str(randint(0,10**5))+"$"
pamet[1]=sell
keyboard = types.InlineKeyboardMarkup()
key_pr = types.InlineKeyboardButton(text='Продать', callback_data='pr')
keyboard.add(key_pr);
key_os = types.InlineKeyboardButton(text='Оставить', callback_data='os')
keyboard.add(key_os);
bot.reply_to(message, sell ,reply_markup=keyboard)
pamet[0]=str(message.from_user.id)
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
if message.text == "Баланс":
f = open('balance.txt', 'r')
a = f.read().split()
name=str(message.from_user.id)
if name in a:
bot.send_message(message.from_user.id,a[a.index(pamet[0])+1])
else:
bot.send_message(message.from_user.id,"0$")
bot.send_message(message.from_user.id,"Вы не продали ещё не одной картины.")
f.close()
else:
bot.send_message(message.from_user.id,"Пока я умею только показывать ваш баланс - \"Баланс\" \n И продавать фотографии - скиньте фотографию")
@bot.callback_query_handler(func=lambda call: True)
def callback_worker(call):
if call.data == "pr":
bot.send_message(call.message.chat.id, 'Вы успешно продали картину');
f = open('balance.txt', 'r')
a = f.read().split()
if pamet[0] in a: a[a.index(pamet[0])+1]=str(int(a[a.index(pamet[0])+1][:-1])+int(pamet[1][:-1]))+"$";
else:
a.append(pamet[0])
a.append(pamet[1])
f = open('balance.txt', 'w')
f.write(" ".join(a))
f.close()
elif call.data == "os":
bot.send_message(call.message.chat.id, 'Вы успешно сохранили эту картину');
bot.polling(none_stop=True, interval=0)
Вот, наш герой это банбанан и он написал это
Меня тут все просят олимпиадных рассказать, не совсем олимпиадная но почему бы и нет...
Задача(разминка) :
Сложить два числа без ограничений на числа(они могут спокойно быть больше чем 100 в 100 в 100)
Задача(разминка) :
Сложить два числа без ограничений на числа(они могут спокойно быть больше чем 100 в 100 в 100)
Python3000
dzen.ru/py3000?share_to=link если хотите
Люди надо 10 людей сюда пжпжпж
Так вот, поскольку я не знаю, что вам дать по бокам, предложите идеи в коменты))))
Есть идея, если вы сделали дз, то вым даётся 1-5 очков в зависимости от решения.И кто че-з месяц наберёт больше всех очков получит шоколадку.
Идея:забить на основную тему и запилить корс по программированию в майнкрафте (к например создание датапаков)
Anonymous Poll
71%
Дааа, супер!!!!! 11
29%
Не, предложу идею в коменты((