Софт Становление Python'иста | Часть 1

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
10 Дек 2018
Сообщения
310
Реакции
28
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем hi. Дело в том что я решил начать изучать такой язык как PYTHON. Решил начать именно с него.

В своих темах я буду делиться тем чему я научился, и если что, если я чет не то делаю, рассчитываю на вашу помощь.
Также я выложу то что у меня получилось в своем канале в телеге:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(НЕ РЕКЛАМАА, ни в коем случае!!!!!!)

Ну что ж, начнем.
На данный момент я учусь 10 классе, и у меня проходит по матеше такая тема как точки екстремума и векторы. У меня по этим тема все зае***ь. Но мне каждый раз лень искать всякие расстояние между точками, находить ту же середину вектора. Я решил автоматизировать этот процесс, и на данный момент я сделал только нахождение середины вектора.

1. Для начала я добавил дох*я всяких не нужных импортов.
2. Потом решил сделать вступление
3. Потом создал список функций(Найти середину отрезка)
4.Написал тип если выбор == 1 то выполнять след действия
5.Так как мы знаем, что середина отрезка равна сумме двух точек / 2, то я для начала решил узнать точки, потом их прибавить а потом поделить на 2.
6.В процессе, я столкнулся с такой проблемой can only concatenate str (not "int") to str. И тут я вспомнил то я да*н, и забыл про конкатенацию(пзд, я помню как это называется) и перевел все в int.
7.Просто вывел на экран результат, изначально перевел переменные в string.

Python:
Expand Collapse Copy
import autograd.numpy as np
from autograd import grad
import math




print("Привет шкрэкус. Это программа поможет тебе по геометрии. by VEGAS")
input("Нажми Enter что бы продолжить.")

print(" ")
print("Шо я умею:")

print("1.Найти середину отрезка")

vibor = input("Выбери то что тебе надо, указав цифру: ")

if vibor == "1":

    print("Введи x1 y1 z1, а потом x2 y2 z2")

    ############################################# Тут я узнаю числа
                                               ##
    oneX = int(input("x1: "))                  ##
    oneY = int(input("y1: "))                   ##
    oneZ = int(input("z1: "))                   ##
    #############################################   X Y Z
                          ##
    twoX = int(input("x2: "))                    ##
    twoY = int(input("y2: "))                  ##
    twoZ = int(input("z2: "))                  ##
    #############################################

    AresultX = float(oneX + twoX) ## Тут я прибавляю X1 и X2
    BresultX = float(AresultX / 2) ## Тут я сумму X1 и X2 делю на 2

    AresultY = float(oneY + twoY)  ## ТОже что и в первом только с:
    BresultY = float(AresultY / 2) ## Y
                                   ##
    AresultZ = float(oneZ + twoZ)  ## Z
    BresultZ = float(AresultZ / 2) ##

    print(" ")
    print("X:" + str(BresultX), "Y:" + str(BresultY), "Z:" + str(BresultZ)) ##Вывел на экран Координаты точки

Решил скомпилить тогда, когда прога будет полностью готова.

Если что-то сделал не так то сообщайте, с радостью почитаю.
Заранее спасибо!
 
Все интересно? Всем интересно. :roflanBuldiga:
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Идея для школьного проекта хорошая, но реализация немного хромает. Для начала советую почистить код от ненужного мусора и оформить все основные методы в отдельный класс, уверяю, с этим будет гораздо проще работать, еще и можно спокойно публиковать в открытый доступ, не боясь кибербуллинга :).
Накидал вот небольшой пример подкорректированного кода:
Python:
Expand Collapse Copy
import math

class VectorPoint(object):

    COUNT = 0

    def __init__(self, x, y, z):
        self.X = x
        self.Y = y
        self.Z = z

    def move(self, dx, dy, dz):
        self.X = self.X + dx
        self.Y = self.Y + dy
        self.Z = self.Z + dz

    def __str__(self):
        return "Point(%s, %s, %s)" % (self.X, self.Y, self.Z)

    def getX(self):
        return self.X

    def getY(self):
        return self.Y

    def getZ(self):
        return self.Z

    def distance(self, other):
        dx = self.X - other.X
        dy = self.Y - other.Y
        dz = self.Z - other.Z
        return math.sqrt(dx**2 + dy**2 + dz**2)
    
    def midlenght(self, other):
        return self.distance(other) / 2

    def midpoint(self, other):
        return VectorPoint((self.X + other.X) / 2, (self.Y + other.Y) / 2, (self.Z + other.Z) / 2)

print("Привет шкрэкус. Это программа поможет тебе по геометрии. by VEGAS")
print("Шо я умею:")
print("1. Найти середину отрезка\n2. Найти длину вектора")

vibor = input("Выбери то что тебе надо, указав цифру: ")
if vibor in ["1", "2"]:
    print("\nУкажите всю необходимую информацию:")
    oneX = float(input("x1: "))
    oneY = float(input("y1: "))
    oneZ = float(input("z1: "))
    twoX = float(input("x2: "))
    twoY = float(input("y2: "))
    twoZ = float(input("z2: "))

    point1 = VectorPoint(oneX, oneY, oneZ)
    point2 = VectorPoint(twoX, twoY, twoZ)

    if vibor == "1":
        print(point1.midpoint(point2))

    if vibor == "2":
        print(point1.distance(point2))
else:
    print("\nНеизвестная команда")
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Идея для школьного проекта хорошая, но реализация немного хромает. Для начала советую почистить код от ненужного мусора и оформить все основные методы в отдельный класс, уверяю, с этим будет гораздо проще работать, еще и можно спокойно публиковать в открытый доступ, не боясь кибербуллинга :).
Накидал вот небольшой пример подкорректированного кода:
Python:
Expand Collapse Copy
import math

class VectorPoint(object):

    COUNT = 0

    def __init__(self, x, y, z):
        self.X = x
        self.Y = y
        self.Z = z

    def move(self, dx, dy, dz):
        self.X = self.X + dx
        self.Y = self.Y + dy
        self.Z = self.Z + dz

    def __str__(self):
        return "Point(%s, %s, %s)" % (self.X, self.Y, self.Z)

    def getX(self):
        return self.X

    def getY(self):
        return self.Y

    def getZ(self):
        return self.Z

    def distance(self, other):
        dx = self.X - other.X
        dy = self.Y - other.Y
        dz = self.Z - other.Z
        return math.sqrt(dx**2 + dy**2 + dz**2)
  
    def midlenght(self, other):
        return self.distance(other) / 2

    def midpoint(self, other):
        return VectorPoint((self.X + other.X) / 2, (self.Y + other.Y) / 2, (self.Z + other.Z) / 2)

print("Привет шкрэкус. Это программа поможет тебе по геометрии. by VEGAS")
print("Шо я умею:")
print("1. Найти середину отрезка\n2. Найти длину вектора")

vibor = input("Выбери то что тебе надо, указав цифру: ")
if vibor in ["1", "2"]:
    print("\nУкажите всю необходимую информацию:")
    oneX = float(input("x1: "))
    oneY = float(input("y1: "))
    oneZ = float(input("z1: "))
    twoX = float(input("x2: "))
    twoY = float(input("y2: "))
    twoZ = float(input("z2: "))

    point1 = VectorPoint(oneX, oneY, oneZ)
    point2 = VectorPoint(twoX, twoY, twoZ)

    if vibor == "1":
        print(point1.midpoint(point2))

    if vibor == "2":
        print(point1.distance(point2))
else:
    print("\nНеизвестная команда")
Понял. Так поудобнее будет)
 
Последнее редактирование:
Топчик, красава, топ язык, молодец! - это, что касается поддержки, переходя к реализму - лучше всего начинать обучение программированию с c++, ибо этот синтаксис самый популярный, и c++ много где пригодиться в отличии он python (счас критику словлю).
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Топчик, красава, топ язык, молодец! - это, что касается поддержки, переходя к реализму - лучше всего начинать обучение программированию с c++, ибо этот синтаксис самый популярный, и c++ много где пригодиться в отличии он python (счас критику словлю).
Понятно. Я думаю после пайтона выучу c++
 
Молодец, вот бы мне такую волю чтобы начать и сесть изучать что-то, но еще и постить по шагам - эт анриал)
 
Путхон программинг съел ещё одного человека
 
Топчик, красава, топ язык, молодец! - это, что касается поддержки, переходя к реализму - лучше всего начинать обучение программированию с c++, ибо этот синтаксис самый популярный, и c++ много где пригодиться в отличии он python (счас критику словлю).
после ++ легко перейти на другие языки
 
Назад
Сверху Снизу