Найти - Пользователи
Полная версия: помогите с ооп
Начало » Python для новичков » помогите с ооп
1
reks
Нужно описать мотоцикл с помощью ооп, так же должно быть 2 функции кроме info()
xam1816
А что для тебя означает мотоцикл,по другому,какие атрибуты должена иметь сущность мотоцикл, по которой можно понять что это мотоцикл, а не собака, или дерево
reks
class moto:
def __init__(self,color,wheels,name,spead):
self.n = name
self.c = color
self.w = wheels
self.spead = spead
как то так
xam1816
Двигатель,мощность,еще можно добавить. Теперь напиши что может делать мотоцикл
reks
вот с этим помощь прошу как написать функции
тип какое расстояние он может пройти
или его прочность
xam1816
метод сущности = алгоритм действий который делает эта сущность,
атрибут или свойство = некоторые данные, характерные для этого объекта или сущности.
Функция = просто алгоритм действий, не привязанный ни к какому объекту

Расстояние которое он может пройти = данные
 self.power_reserve = 1000

Повернуть направо или налево,ускориться, затормозить, = действие которые он может совершить
 def turn_right():
     pass
def turn_left():
     pass
reks
я не понимаю как их заполнить

self.power_reserve = 1000

как допустим сделать разгон по этапно допусти
|
5
|
15
|
20
Чтоб это в кмд вылазило
PEHDOM
Както так?
class Лисапед():
def __init__(self,переднее_колесо, заднее_колесо, рама, руль, педали, цепь):
self.рама = рама
self.переднее_колесо = переднее_колесо
self.заднее_колесо = заднее_колесо
self.руль = руль
self.педали = педали
self.цепь = цепь
self.собрать()

def собрать(self):
self.педали.крутит(self.цепь)
self.цепь.крутит(self.заднее_колесо)

def поехали(self, пасажир):
пасажир.крутить(self.педали)

def остановиться(self, пасажир):
пасажир.некрутить(self.педали)

def затормозить(self, пасажир):
пасажир.крутить_в_обратную_сторону(self.педали)


class Мотоциклет(Лисапед):
def __init__(self,переднее_колесо, заднее_колесо, рама, руль, педали, цепь, моторчик, бензобак, тормоза):
self.моторчик = моторчик
self.бензобак = бензобак
self.тормоза = тормоза
super().__init__(переднее_колесо, заднее_колесо, рама, руль, педали, цепь)

def собрать(self):
self.моторчик.крутит(self.цепь)
self.цепь.крутит(self.заднее_колесо)
self.тормоза.останавливает(self.переднее_колесо)

def поехали(self, пасажир):
if пасажир.жмет_ручку_газа(self.руль) and self.бензобак.бензин > 0:
self.моторчик.работать()
else:
self.моторчик.неработать()

def остановиться(self, пасажир):
if пасажир.жмет_ручку_газа(self.руль)==False:
self.моторчик.неработать()

def затормозить(self, пасажир):
if пасажир.жмет_на_тормоз(self.руль):
self.тормоза.тормозить()
xam1816
 import time
class Moto:
	def __init__(self, acceleration):
		self.acceleration = acceleration
		self.power_reserve = 1000
	def move_forward(self):
		for i in range(0,self.power_reserve,self.acceleration):
			print(f"""{i}
			     |
			    :@:
			     |
			""")
			time.sleep(0.5)
		print('FINISH!')
moto = Moto(5)
moto.move_forward()
reks
спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB