Signed-off-by: Alice <Svfoxel@yandex.ru>
This commit is contained in:
commit
9f68566475
9 files changed
+289
No files matched your search
@@ -0,0 +1,95 @@
|
|||||||
|
import telebot
|
||||||
|
import random
|
||||||
|
from telebot import types
|
||||||
|
|
||||||
|
token = "8379986047:AAGr74CT6Y2a8moIWL4Outspent1CajoledF9ec"
|
||||||
|
bot = telebot.TeleBot(token)
|
||||||
|
|
||||||
|
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
|
||||||
|
button1 = types.KeyboardButton("Камень")
|
||||||
|
button2 = types.KeyboardButton("Ножницы")
|
||||||
|
button3 = types.KeyboardButton("Бумага")
|
||||||
|
keyboard.add(button1, button2, button3)
|
||||||
|
|
||||||
|
userLink = {}
|
||||||
|
wins = {}
|
||||||
|
looses = {}
|
||||||
|
draws = {}
|
||||||
|
dif = {}
|
||||||
|
|
||||||
|
Rock = {}
|
||||||
|
Paper = {}
|
||||||
|
Scissors = {}
|
||||||
|
|
||||||
|
def addUserIfNotExist(message):
|
||||||
|
uid = message.chat.id
|
||||||
|
if uid not in userLink: userLink[uid] = 0 #персональный счётчик
|
||||||
|
if uid not in wins: wins[uid] = 0
|
||||||
|
if uid not in looses: looses[uid] = 0
|
||||||
|
if uid not in draws: draws[uid] = 0
|
||||||
|
if uid not in Rock: Rock[uid] = 0
|
||||||
|
if uid not in Paper: Paper[uid] = 0
|
||||||
|
if uid not in Scissors: Scissors[uid] = 0
|
||||||
|
return userLink.get(uid)
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['start'])
|
||||||
|
def start(message):
|
||||||
|
addUserIfNotExist(message)
|
||||||
|
bot.send_message(message.chat.id, 'Привет! Выбери уровень:\n/easy\n/normal\n/hard\n/mega_hard', reply_markup=keyboard)
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['easy', 'normal', 'hard', 'mega_hard'])
|
||||||
|
def difficulty(message):
|
||||||
|
addUserIfNotExist(message)
|
||||||
|
if message.text == "/easy": userLink[message.chat.id] = 1
|
||||||
|
elif message.text == "/normal": userLink[message.chat.id] = 2
|
||||||
|
elif message.text == "/hard": userLink[message.chat.id] = 3
|
||||||
|
elif message.text == "/mega_hard": userLink[message.chat.id] = 4
|
||||||
|
bot.send_message(message.chat.id, f"Уровень {message.text} выбран")
|
||||||
|
|
||||||
|
@bot.message_handler(func=lambda message: True)
|
||||||
|
def main_game(message):
|
||||||
|
level = addUserIfNotExist(message)
|
||||||
|
u_move = message.text.lower()
|
||||||
|
uid = message.chat.id
|
||||||
|
|
||||||
|
if u_move not in ["камень", "ножницы", "бумага"]:
|
||||||
|
bot.send_message(uid, "Используй кнопки!")
|
||||||
|
return
|
||||||
|
|
||||||
|
if u_move == "камень": Rock[uid] += 1
|
||||||
|
elif u_move == "ножницы": Scissors[uid] += 1
|
||||||
|
elif u_move == "бумага": Paper[uid] += 1
|
||||||
|
|
||||||
|
if level == 1:
|
||||||
|
botans = "Ножницы" if u_move == "камень" else "Камень" if u_move == "бумага" else "Бумага"
|
||||||
|
elif level == 3:
|
||||||
|
botans = "Бумага" if u_move == "камень" else "Камень" if u_move == "ножницы" else "Ножницы"
|
||||||
|
elif level == 4:
|
||||||
|
stats = {"камень": Rock[uid], "ножницы": Scissors[uid], "бумага": Paper[uid]}
|
||||||
|
fav = max(stats, key=stats.get)
|
||||||
|
if fav == "камень": botans = "Бумага"
|
||||||
|
elif fav == "ножницы": botans = "Камень"
|
||||||
|
else: botans = "Ножницы"
|
||||||
|
else:
|
||||||
|
botans = random.choice(["Камень", "Ножницы", "Бумага"])
|
||||||
|
|
||||||
|
bot_move_low = botans.lower()
|
||||||
|
if bot_move_low == u_move:
|
||||||
|
bot.send_message(uid, "Мой ход: {botans}\nНичья!", reply_markup=keyboard)
|
||||||
|
draws[uid] += 1
|
||||||
|
elif (u_move == "камень" and bot_move_low == "ножницы") or \
|
||||||
|
(u_move == "ножницы" and bot_move_low == "бумага") or \
|
||||||
|
(u_move == "бумага" and bot_move_low == "камень"):
|
||||||
|
bot.send_message(uid, f"Мой ход: {botans}\nПобеда!", reply_markup=keyboard)
|
||||||
|
wins[uid] += 1
|
||||||
|
else:
|
||||||
|
bot.send_message(uid, f"Мой ход: {botans}\nПроиграл!", reply_markup=keyboard)
|
||||||
|
looses[uid] += 1
|
||||||
|
|
||||||
|
bot.infinity_polling()
|
||||||
|
|
||||||
|
# 1. if uid not in Rock/Paper/Scissors: создают персональный счетчик для каждого игрока, чтобы бот не путал статистику разных людей.
|
||||||
|
#2. Rock[uid] += 1 (и аналоги): при каждом ходе пользователя бот «запоминает», какую кнопку вы нажали, прибавляя единицу к соответствующему счетчику.
|
||||||
|
#3. stats = {"камень": Rock[uid]...}: перед своим ходом бот «смотрит» в вашу историю и собирает все ваши нажатия в одну таблицу.
|
||||||
|
#4. max(stats, key=stats.get): бот вычисляет, какой ход в этой таблице встречается чаще всего.
|
||||||
|
# 5. if fav == "камень": botans = "Бумага": бот делает ход, который побеждает ваш самый популярный вариант.
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
import telebot
|
||||||
|
import random
|
||||||
|
|
||||||
|
token = "8379986047:AAGr74CT6Y2a8moIWL4Otsntu1CjozdF9ec"
|
||||||
|
|
||||||
|
bot = telebot.TeleBot(token)
|
||||||
|
win = {}
|
||||||
|
loose = {}
|
||||||
|
draw = {}
|
||||||
|
|
||||||
|
def addUserIfNotExist(message):
|
||||||
|
if not wins[message.from_user.id]:
|
||||||
|
wins[message.from_user.id] = 0
|
||||||
|
if not loose[message.from_user.id]:
|
||||||
|
loose[message.from_user.id] = 0
|
||||||
|
if not draw[message.from_user.id]:
|
||||||
|
draw[message.from_user.id] = 0
|
||||||
|
if not dif[message.from_user.id]:
|
||||||
|
dif[message.from_user.id] = 0
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['start'])
|
||||||
|
def start(message):
|
||||||
|
bot.send_message(message.chat.id, 'Привет, это игра "Камень, ножницы, бумага"')
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['rules'])
|
||||||
|
def rules(message):
|
||||||
|
bot.send_message(message.chat.id, 'Правила: выбираешь "Камень", "Ножницы" или "Бумага", если ты выиграл я напишу, а если нет, то ладно')
|
||||||
|
|
||||||
|
@bot.message_handler(func=lambda message:True)
|
||||||
|
def main_game(message):
|
||||||
|
ans = random.randint(1,3) #1 - камень, 2 - бумага, 3 - ножницы
|
||||||
|
if message.text == "Камень" and ans == 1:
|
||||||
|
bot.send_message(message.chat.id, "Ничья")
|
||||||
|
elif message.text == "Камень" and ans == 2:
|
||||||
|
bot.send_message(message.chat.id, "ХАХАХАХ!!! ТЫ ПРОИГРАЛ!")
|
||||||
|
elif message.text == "Камень" and ans == 3:
|
||||||
|
bot.send_message(message.chat.id, "НУУ БЛИИИН!!! ТЫ ВЫИГРАЛ!")
|
||||||
|
elif message.text == "Бумага" and ans == 2:
|
||||||
|
bot.send_message(message.chat.id, "Ничья")
|
||||||
|
elif message.text == "Бумага" and ans == 3:
|
||||||
|
bot.send_message(message.chat.id, "ХАХАХАХ!!! ТЫ ПРОИГРАЛ!")
|
||||||
|
elif message.text == "Бумага" and ans == 1:
|
||||||
|
bot.send_message(message.chat.id, "НУУ БЛИИИН!!! ТЫ ВЫИГРАЛ!")
|
||||||
|
elif message.text == "Ножницы" and ans == 1:
|
||||||
|
bot.send_message(message.chat.id, "ХАХАХАХ!!! ТЫ ПРОИГРАЛ!")
|
||||||
|
elif message.text == "Ножницы" and ans == 2:
|
||||||
|
bot.send_message(message.chat.id, "НУУ БЛИИИН!!! ТЫ ВЫИГРАЛ!")
|
||||||
|
elif message.text == "Ножницы" and ans == 3:
|
||||||
|
bot.send_message(message.chat.id, "Ничья")
|
||||||
|
|
||||||
|
bot.infinity_polling()
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
import telebot
|
||||||
|
import random
|
||||||
|
|
||||||
|
token = "8379986047:AAGr74CT6Y2a8moIWL4Otsntu1CjozdF9ec"
|
||||||
|
|
||||||
|
bot = telebot.TeleBot(token)
|
||||||
|
rnd = random.Random
|
||||||
|
|
||||||
|
easyQuestion = ["Сколько дней в неделе?","Какая планета ближе всего к Солнцу?","Сколько будет 7 × 8?","Какой цвет получается при смешивании синего и жёлтого?","Кто написал сказку «Колобок» (народная или авторская)?","Сколько сторон у треугольника?","Сколько материков на Земле?","В каком месяце 28 дней (в обычном году)?","Сколько часов в сутках?","Кто из животных говорит «мяу»?"]
|
||||||
|
mediumQuestion = ["Как называется наука, изучающая строение Земли и её процессы?","Сколько континентов на Земле?","Кто написал серию книг «Гарри Поттер»?","Чему равна площадь квадрата со стороной 5 см?","В каком году началась Вторая мировая война?","Как называется самая длинная река в мире?","Сколько градусов в прямом угле?","Как называется современный город, где раньше была одноимённая столица Карфагена","Что тяжелее: килограмм железа или килограмм пуха?","Как называется единица измерения силы тока?"]
|
||||||
|
hardQuestion = ["Если 2³ = 8, то чему равно 2⁵?","Сколько нулей в одном миллионе?","Кто был первым человеком в космосе?","Кто такие Бандюхи?","Если поезд едет 60 км/ч, сколько он проедет за 2,5 часа?","Как называется столица Австралии?","Какой газ составляет большую часть атмосферы Земли?","Если сегодня среда, какой день будет через 100 дней?","Как называется устройство для измерения атмосферного давления?","Сколько граней у куба?"]
|
||||||
|
|
||||||
|
easyAns = ["7","Меркурий","56","Зелёный","Народная сказка","3","6 материков","В любом месяце есть 28 дней","24 часа","Кошка"]
|
||||||
|
mediumAns = ["Геология","7 континентов","Джоан Роулинг","25 см²","1939 год","Нил","90 градусов","Тунис","Одинаково","Ампер"]
|
||||||
|
hardAns = ["32","6 нулей","Юрий Гагарин","Это выдуманные животные, похожие на чубаку только фиолетовые","150 км","Канберра","Азот","Пятница","Барометр","6 граней"]
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['start'])
|
||||||
|
def start(message):
|
||||||
|
bot.send_message(message.chat.id, "Добро пожаловать в супер-пупер-викторину")
|
||||||
|
bot.send_message(message.chat.id, "Нужно выбрать сложность\n"
|
||||||
|
"Легкий - /easy\n"
|
||||||
|
"Средний - /medium\n"
|
||||||
|
"Сложный - /hard")
|
||||||
|
|
||||||
|
@bot.message_handler(commands=['easy', 'medium', 'hard'])
|
||||||
|
def setDif(message):
|
||||||
|
if message.text == "easy":
|
||||||
|
mode = 1
|
||||||
|
bot.message_handler(message.chat.id, "Выбрана легкая сложность")
|
||||||
|
elif message.text == "medium":
|
||||||
|
mode = 2
|
||||||
|
bot.message_handler(message.chat.id, "Выбрана средняя сложность")
|
||||||
|
elif message.text == "hard":
|
||||||
|
mode = 3
|
||||||
|
bot.message_handler(message.chat.id, "Выбрана сложная сложность")
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
1. Пользователь пишет /start
|
||||||
|
2. Бот отвечает: "Привет, это игра "Камень, ножницы, бумага" "
|
||||||
|
3. Пользовател предлагается выбрать "Камень", "Ножницы" или "Бумага"
|
||||||
|
4. Когда пользователь выбрал что-то из представленного выше, рандомно выбирается "Камень", "Ножницы" или "Бумага"
|
||||||
|
5. Если выбрали камень и бумага то кто выбрал тот кто выбрал бумагу, тот победил
|
||||||
|
6. Если выбрали камень и ножницы то кто выбрал тот кто выбрал камень, тот победил
|
||||||
|
7. Если выбрали бумагу и ножницы то кто выбрал тот кто выбрал ножницы, тот победил
|
||||||
|
8. Если пользователь выиграл то бот присылает: "ПОЗДРАВЛЯЮ!!! ТЫ ВЫИГРАЛ!"
|
||||||
|
9. Если пользователь проиграл то бот присылает: "ХАХАХАХ!!! ТЫ ПРОИГРАЛ!"
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
a = [10, 5, 3, 15, 32, 182]
|
||||||
|
amax=0
|
||||||
|
for i in range(len(a)):
|
||||||
|
if amax < a[i]:
|
||||||
|
amax=a[i]
|
||||||
|
|
||||||
|
|
||||||
|
min=4444
|
||||||
|
for i in range(len(a)):
|
||||||
|
if min > a[i]:
|
||||||
|
min=a[i]
|
||||||
|
|
||||||
|
print(amax,"----",min)
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
def foo(a,b) -> int:
|
||||||
|
return a+b
|
||||||
|
|
||||||
|
c = foo(10,5)
|
||||||
|
d = [10, 5, 3, 15, 32, 182]
|
||||||
|
e = (d[0]+d[1]+d[2]+d[3]+d[4]+d[5])/6
|
||||||
|
f = 0
|
||||||
|
for i in range(len(d)):
|
||||||
|
f += d[i]
|
||||||
|
|
||||||
|
print(f/len(d))
|
||||||
|
print(e)
|
||||||
|
|
||||||
|
#------------------------
|
||||||
|
|
||||||
|
print ("range:",range(len(d)))
|
||||||
|
|
||||||
|
def baba(a,b) -> int:
|
||||||
|
return a*a
|
||||||
|
|
||||||
|
for i in 1,5:
|
||||||
|
print ("Bobik:",d[i],"---",len (d))
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
import random
|
||||||
|
import math
|
||||||
|
|
||||||
|
|
||||||
|
ls = [0,1,2,3,4,5,6,7,8,9] #масив \ лист \ список
|
||||||
|
ct = (0,1,2,3,4,5,6,7,8,9) #кортеж
|
||||||
|
dc = {"1st": 0, "2nd": 1, "3rd": 2} #словарь
|
||||||
|
print(ls)
|
||||||
|
ls.append(10) #добавляем новый элемент в масив
|
||||||
|
print(ls)
|
||||||
|
ls.reverse() #метод позволяющий перевернуть масив
|
||||||
|
print(ls)
|
||||||
|
ls.pop(3) #метод удаляющий элемент под определённым индексом
|
||||||
|
print(ls)
|
||||||
|
a = ls.pop(4) #метод так же позволяет записать удалённый элемент в переменную
|
||||||
|
print(ls)
|
||||||
|
print(a)
|
||||||
|
ls.sort()
|
||||||
|
print(ls) #метод позволяющий выполныть сортировку по возрастанию
|
||||||
|
ls.sort(reverse=True) #сортировка по убыванию
|
||||||
|
print(ls)
|
||||||
|
for i in range(10):
|
||||||
|
print(random.randint(0, 2))
|
||||||
|
for i in range(10):
|
||||||
|
print(random.random())
|
||||||
|
|
||||||
|
print(math.sqrt(2))
|
||||||
|
print(1.4142135623730951*1.4142135623730951)
|
||||||
|
print(math.pow(2,10))
|
||||||
|
print(math.factorial(10))
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
a=0.0
|
||||||
|
b=0.0
|
||||||
|
c=""
|
||||||
|
|
||||||
|
def calc()->float:
|
||||||
|
a=float(input("Введите число"))
|
||||||
|
b=float(input("Введите число"))
|
||||||
|
c=input("Введите знак(*,/,+,-,^,%)")
|
||||||
|
if c == "+":
|
||||||
|
return a+b
|
||||||
|
elif c == "-":
|
||||||
|
return a-b
|
||||||
|
elif c == "*":
|
||||||
|
return a*b
|
||||||
|
elif c == "/":
|
||||||
|
return a/b
|
||||||
|
elif c == "^":
|
||||||
|
return a**b
|
||||||
|
elif c == "%":
|
||||||
|
return a/100*b
|
||||||
|
else:
|
||||||
|
return "Что-то пошло не так"
|
||||||
|
|
||||||
|
|
||||||
|
while True:
|
||||||
|
print("Бобро поржаловать в мини калькулятор")
|
||||||
|
print("Хотите что-то посчитать?Y(Да)/N(Нет)")
|
||||||
|
ans=input().lower()
|
||||||
|
if ans== "да" or ans == "y":
|
||||||
|
print(calc())
|
||||||
|
elif ans == "нет" or ans == "n":
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
print("Непонятно...Перезапкуск")
|
||||||
Whitespace-only changes.
Reference in new issue
Block a user