Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
1
Telegram Bot

Оцените код, пожалуйста

07.10.2020, 19:16. Показов 1711. Ответов 17

Author24 — интернет-сервис помощи студентам
Добрый день уважаемые програмисты. Начал недавно изучать python, решил немного попрактиковатся. Сделал бота который считает сумму матриц. Зацените код, любая критика приветствуется.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import telebot
import config
import numpy
from telebot import types
 
bot = telebot.TeleBot(config.TOKEN)
 
def first_matrix_size(message): #Введения размеров первой матрицы
    try:
        global i1,j1
 
        ij_list = list(message.text)
        i1,j1 = int(ij_list[0]), int(ij_list[-1])
 
 
        bot.send_message(message.chat.id, "Введите числа первой матрицы вот так: a11 a12 a21 a22")
        bot.register_next_step_handler(message, Matrix_A)
    except Exception:
        bot.send_message(message.chat.id, "Что то пошло не так, давай попробуем заного") 
    
def Matrix_A(message): #Введение значений первой матрицы
    try:
        global MatrixA
 
        message_text = message.text
        user_text = list(map(int, message_text.split()))
    
        MatrixA = numpy.array(user_text)
        MatrixA.resize((i1,j1))
    
        bot.send_message(message.chat.id, "Введи размер второй матрицы вот так: ixj")
        bot.register_next_step_handler(message, second_matrix_size)
    except Exception:
        bot.send_message(message.chat.id, "Что то пошло не так, давай попробуем заного") 
 
def second_matrix_size(message):#Введение размеров второй матрицы
    try:
        global i2,j2
 
        ij2_list = list(message.text)
        i2,j2 = int(ij2_list[0]), int(ij2_list[-1])
 
 
        bot.send_message(message.chat.id, "Введите числа второй матрицы в такой форме: a11 a12 a21 a22")
        bot.register_next_step_handler(message, Matrix_B)
    except Exception:
        bot.send_message(message.chat.id, "Что то пошло не так, давай попробуем заного")
 
def Matrix_B(message):#Введение значений второй матрицы + вывод результата
    try:
        global MatrixB
        global MatrixSum
 
        message_text2 = message.text
        user_text2 = list(map(int, message_text2.split()))
    
        MatrixB = numpy.array(user_text2)
        MatrixB.resize((i2,j2))
 
        MatrixSum = MatrixA + MatrixB
        
       
        bot.send_message(message.chat.id,"Сумма матриц:\n" + str(MatrixSum))
    except Exception:
        bot.send_message(message.chat.id, "Что то пошло не так, давай попробуем заного")
 
 
@bot.message_handler(commands=['start'])
 
 
def start_message(message):
 
    markup = types.ReplyKeyboardMarkup(resize_keyboard = True)
    Add_Matrix_Button = types.KeyboardButton("Add matrix")
 
    markup.add(Add_Matrix_Button)
 
    bot.send_message(message.chat.id, "Привет, я бот созданный для вычисления суммы матриц. Нажми конопочку ниже и проследуй инструкциям", reply_markup = markup)
 
 
@bot.message_handler(content_types = ['text'])
 
def Answers(message):
    if message.text == "Add matrix":
        
        bot.send_message(message.chat.id, "Введите размер первой матрицы i x j")
        bot.register_next_step_handler(message, first_matrix_size)
 
 
 
bot.polling(none_stop = True)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2020, 19:16
Ответы с готовыми решениями:

Оцените пожалуйста код
Здравствуйте, уважаемые. Недавно начал изучать JS. В программировании опыта нет совершенно,...

Оцените , пожалуйста, мой код
Просто написал небольшую программу, прошу оценить, есть ли в ней какие либо критические...

Оцените пожалуйста мой код
Здравствуй уважаемый форум меня зовут Тарас мне 16 и я хочу поступить на программиста занимаюсь...

Оцените пожалуйста корректен ли данный код
import java.util.Formatter; import java.util.Scanner; public class one { static Formatter q;...

17
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
07.10.2020, 20:05 2
Лучший ответ Сообщение было отмечено S1imple_Anim как решение

Решение

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
global
плохо

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
i1,j1
имена так не дают, читай , смотри примеры кода

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
def first_matrix_size(message): #Введения размеров первой матрицы
доки пишут не так

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
MatrixA
так называют только классы

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
except Exception:
так не перехватывают, нужно указать конкретное исключение кроме особых случаев

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
заного
учительнице по русскому привет от меня!

много кода повторяется, с этим надо бороться - DRY

советую книгу Марка Лутца "Изучаем Пайтон", 1 том как минимум, видно что не хватает основ. По видео писал?
2
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
07.10.2020, 20:19  [ТС] 3
Учительницы по русскому никогда и не было, привет не передам, sorry.

Нет, не по видео, основную штуку по боту нашел в инете, остальное сам(по видосу думаю не так ужасно бы было).

Книгу прочту, спасибо, интересно еще узнать ваше мнение о coursere, есть ли там какие то хорошие курсы, а еще больше интересно, если знакомы, мнение о курсах Google it automation with python и Python for everybody.

Спасибо большое за критику)
0
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
07.10.2020, 20:48 4
S1imple_Anim,
Цитата Сообщение от S1imple_Anim Посмотреть сообщение
есть ли там какие то хорошие курсы
Точно хорошие курсы есть в Foxminded. Сергей Немчинский, гугли. (возможно ошибся с написанием фамилии и компании)
А вообще обычно курсы сделаны из интернет статей, по этому жуй книги и запивай гуглом

S1imple_Anim,
Цитата Сообщение от S1imple_Anim Посмотреть сообщение
Зацените код, любая критика приветствуется.
ИМХО писать комментарии лучше с начала строки, а не после кода (Естественно есть исключения. Когда к примеру нужно пояснить что хранится в переменной, примеры ниже. Но я вообще стараюсь всегда писать с новой строки, ИМХО, опять же, так читабельнее)

Python
1
2
3
4
# Магическим образом делает чудеса
def Calc(*numb):
    
sum += numder # number = only int
0
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
07.10.2020, 21:02  [ТС] 5
MetMark, Я посмотрел те курсы, там немного не то, для чего я вообще решил учить python. Не думаю, что на курсе от гугла сборки статей, но спорить не буду.
Спасибо за замечание)
1
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
08.10.2020, 07:30 6
Цитата Сообщение от S1imple_Anim Посмотреть сообщение
есть ли там какие то хорошие курсы
есть

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
мнение о курсах Google it automation with python и Python for everybody.
не в курсе, может и хорошие. Я знаю только одно средство обучения которое веками не подводило (нет, не розги) - это книга. Начни с нее, если прямо задаться целью то все получится и без всяких курсов.

Цитата Сообщение от MetMark Посмотреть сообщение
ИМХО писать комментарии лучше с начала строки, а не после кода
доку по функции пишут внутри функции

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
для чего я вообще решил учить python.
а для чего?
0
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
08.10.2020, 08:11 7
Welemir1, понял. Спасибо, пойду переписывать коменты...
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
08.10.2020, 08:13 8
Цитата Сообщение от MetMark Посмотреть сообщение
пойду переписывать коменты
ты не спеши) сначала посмотри примеры как именно доки пишут к функциям, например в стандартной либе. А вот простые комменты -ты верно пишешь
0
6 / 3 / 0
Регистрация: 04.05.2018
Сообщений: 407
08.10.2020, 10:00 9
Welemir1,
Цитата Сообщение от Welemir1 Посмотреть сообщение
А вот простые комменты -ты верно пишешь
Понял, принял, обработал.
Цитата Сообщение от Welemir1 Посмотреть сообщение
посмотри примеры как именно доки пишут к функциям
Так точно, сер! Благодарствую!
0
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
14.10.2020, 14:25  [ТС] 10
Welemir1, Для DS и ML, в принципе хочу там построить карьеру, ну и было бы неплохо познать автоматизацию, тоже, как по мне, интересная вещь.
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
14.10.2020, 14:43 11
S1imple_Anim, автоматизацию в целом или автоматизацию тестов?

Цитата Сообщение от S1imple_Anim Посмотреть сообщение
Для DS и ML
а ты хорош в математике? без нее там нечего делать, причем речь о серьезной математике, не уровня большинства задач этого уровня. Я например поковыряв понял, что не осилю. Вернее затрачу слишком много времени на освоение.
0
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
14.10.2020, 15:01  [ТС] 12
Welemir1, не знаю, а как оценить хорош ли я? Трудностей у меня не было, но это была не серьезная математика. Думаю, если вуз даст базу, то попробовать понять что там в DS точно стоит, времени у меня предостаточно.
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
14.10.2020, 18:38 13
S1imple_Anim, после ВУЗовской математики -да, пожалуй можно.
0
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
14.10.2020, 22:15  [ТС] 14
Welemir1, тогда так и поступлю, спасибо за ответы
0
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
18.10.2020, 16:01  [ТС] 15
Welemir1, автоматизацию тестов.

P.S. только сегодня увидел вопрос про автоматизацию.
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
18.10.2020, 18:17 16
Цитата Сообщение от S1imple_Anim Посмотреть сообщение
автоматизацию тестов.
интересная вещь и прибыльная, но с дата-сатанизмом никак не связана, лучше выбрать сразу куда двигаться
0
1 / 1 / 0
Регистрация: 07.10.2020
Сообщений: 8
18.10.2020, 23:04  [ТС] 17
Welemir1, но хочется как то попробовать обе сферы. Определится, не попробовав, сложновато. К тому же, я не сильно знаком с технической стороной автоматизации тестов(от слова вообще). Можете посоветовать какие то книги? Я так понимаю вы работаете со/в сфере автоматизации.
0
Автоматизируй это!
Эксперт Python
7107 / 4610 / 1215
Регистрация: 30.03.2015
Сообщений: 13,236
Записей в блоге: 29
19.10.2020, 11:11 18
Цитата Сообщение от S1imple_Anim Посмотреть сообщение
Можете посоветовать какие то книги?
нет, за исключением любых книг по питону) кроме того нужно доку реквестс почитать, селениум, тестовые либы типа юниттестс и питест поковырять, теорию тестирования -обязательно.
Но опять же без знания основ это все не поможет.

Как для сатанизма тебе надо будет много теории математической, так для автоматизации тестирования ты должен знать теорию тестирования
0
19.10.2020, 11:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2020, 11:11
Помогаю со студенческими работами здесь

Оцените пожалуйста корректен ли данный код
Работает корректно, но может его можно написать проще? def factorial(): fac =...

Оцените пожалуйста код. Имитация кассового аппарата
#include<iostream> #include<windows.h> using namespace std; int main() { double d1 = 0,...

Оцените, пожалуйста, код. Задача: Математический тест
Задача выглядит так: Напишите программу, которая позволяет проводить простые математические тесты....

Оцените код пожалуйста - правильно ли я понял ООП и MVC?
Здравствуйте! php изучаю уже три месяца, когда есть возможность. С ООП в php познакомился две...

Проверьте и оцените пожалуйста читабельность и правильность подхода+написания кода(код небольшой и довольно лёгкий)
Прошу проверить мой код на читабельность и правильность(если что код работает и выдаёт верные...

Оцените пожалуйста мой "Говно-код"
Недавно начал изучать С#, увидел на твиче бота, который делал то, что есть в моей программе и я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru