python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python
我正在定义一个名为“car”的类,我将它与一个在我的类上运行一系列测试的文档进行比较。然而,我在驱动法中得到了错误的答案,我不知道为什么。在
这是我的密码。驱动方法应该以汽车为参数,将其移动指定的英里数。如果汽车能在不耗尽燃料的情况下跑完所有的英里数,那么汽车就开始旅行并输出英里数,同时还会增加里程表。{0}不过,如果它还没开到油箱里,那它就不能开很久了。在
如果给出了任何无效的参数,那么这辆车就不能开了。每次在汽车测试程序中测试9时,它都会中断。因此,所有后续的都会破裂。下面我已经发布了我的代码,然后代码测试出来。在
你能帮我吗?我很感激#Define the class
class Car(object):
def __init__(self,fuelEfficiency=0,fuelCapacity=0,fuelLevel=0,odometer=0):
self.setCar(fuelEfficiency,fuelCapacity,fuelLevel,odometer)
def setFuelEfficiency(self,newFuelEfficiency):
self.setCar(fuelEfficiency = newFuelEfficiency)
def setFuelCapacity(self,newFuelCapacity):
self.setCar(fuelCapactity = newFuelCapacity)
def setFuelLevel(self,newFuelLevel):
self.setCar(fuelLevel = newFuelLevel)
def setOdometer(self,newOdometer):
self.setCar(odometer = newOdometer)
def setCar(self,fuelEfficiency = None,fuelCapacity = None,fuelLevel = None,odometer = None):
if fuelEfficiency == None:
fuelEfficiency = self.getFuelEfficiency
if fuelCapacity == None:
fuelCapacity = self.getFuelCapacity
if fuelLevel == None:
fuelLevel = self.getFuelLevel
if odometer == None:
odometer = self.getOdometer
self.fuelEfficiency = fuelEfficiency
self.fuelCapacity = fuelCapacity
self.fuelLevel = fuelLevel
self.odometer = odometer
def drive(self,miles):
if miles < 0:
return ("The car is not driven")
one_gallon = miles / self.fuelEfficiency
if one_gallon < self.fuelLevel:
print("The car drove {} miles".format(miles))
elif self.fuelLevel == 0:
print("The car drove 0 miles")
#else:
#newMiles = milesDriven * miles
#print("The car drove {} miles".format(newMiles))
self.fuelLevel -= one_gallon
self.odometer += miles
def getCar(self):
#Returns a tuple that has (FE,FC,FL,OD)
return (self.fuelEfficiency,self.fuelCapacity,self.fuelLevel,self.odometer)
def addFuel(self,num):
if type(num) == str:
return self.fuelLevel
if num < 0:
print("Sorry, you need to enter a postive number.")
return self.fuelLevel
if (self.fuelLevel + num) > self.fuelCapacity:
return self.getFuelLevel
if (self.fuelLevel + num) == self.fuelCapacity:
self.fuelLevel += num
return self.getFuelLevel
if (self.fuelLevel + num) < self.fuelCapacity:
self.fuelLevel += num
return self.getFuelLevel
def getFuelEfficiency(self):
return self.getCar()[0]
def getFuelCapacity(self):
return self.getCar()[1]
def getFuelLevel(self):
return self.getCar()[2]
def getOdometer(self):
return self.getCar()[3]
def tripRange(self):
numOfMiles = self.fuelEfficiency * self.fuelLevel
return numOfMiles
def __str__(self):
FE = self.getFuelEfficiency()
FC = self.getFuelCapacity()
FL = self.getFuelLevel()
OD = self.getOdometer()
string = '{}:{}:{}:{}'.format(FE,FC,FL,OD)
return string
这里有一个测试程序,如果类正常工作,它将与测试一起进行。如果一切都是固定的,输出将是“没有发现错误”
^{pr2}$
python面对对象编程写一个程序有一个汽车_汽车类面向对象编程Python相关推荐
- Python - 面对对象(基础)
目录 Python - 面对对象(基础) 一. 概述 二. 创建类和对象 三. 面向对象三大特征 封装 继承 多态 Python - 面对对象(基础) 一. 概述 面向过程:根据业务逻辑从上到下写垒代 ...
- python遇到对象_### python面对对象小汇总 #####
python面对对象小汇总 类的起名规则 # 所有的类名要求首字母大写,多个单词使用驼峰式命名法 如 ValueError # 类中方法: 普通方法 类方法 静态方法 魔术方法 class Phone ...
- python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...
- java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
导航:网站首页 > 编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接... 编程定义一个图形接口 Shape, 内含2 ...
- 写一个程序输入一个国家的国家名,输出该国的首都名。
下表是国家和它们的首都: Australia Canberra Belgium Brussels China Beijing Denmark Copenhagen England London Fra ...
- 用c语言编程序输入一个正整数,编写一个程序,输入一个正整数n(假设n7),求1!+2!+3!+4!+……+n!...
编写一个程序,输入一个正整数n(假设n<7),求1!+2!+3!+4!+--+n!以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一 ...
- 设计一个程序显示一个桌子的信息,包括桌子的类型(长方形、正方形、圆形)、腿数、高度和面积,其中面积是通过根据桌子类型不同而输入不同的数据来计算得出
设计一个程序显示一个桌子的信息,包括桌子的类型(长方形.正方形.圆形).腿数.高度和面积,通过根据桌子类型不同而输入不同的数据来计算得出: 要点提示: 1) 桌子的形状可以使用一个整数变量来表示,例 ...
- Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解
1.面向对象的三大特征 封装:属性和方法放到类内部,通过对象访问属性或者方法,隐藏功能的实现细节.当然还可以设置访问权限; 继承:子类需要复用父类里面的属性或者方法,当然子类还可以提供自己的属性和方法 ...
- Python面对对象编程——对象、类详解及实例
Python中类与对象的初认识 1.Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的 ...
- python面对对象的编程语言_python面对对象编程
一.创建类class ClassName: '类文档字符串,用于解释说明 'class_body #类体 下面来创建一个银行客户的例子class Customer: '编写银行的顾客类' name=' ...
最新文章
- 论文速递 | 一份超全易懂的深度学习在图像去噪的综述
- 2017/11/3模拟赛
- 如何看懂发电机功率圆图
- [Leetcode][JAVA] Reorder List
- Laravel框架中的路由和控制器
- P2607 [ZJOI2008]骑士
- C++ 11 深度学习(九)C++文件IO
- 计算机外围设备哪两类,《微机原理与接口技术》课后习题答案
- [BZOJ3566][SHOI2014]概率充电器
- linux下各种解压方法
- 可怕!离职都开始内卷了?!
- 如何写软件概要设计?
- python查询12306余票_Python爬虫----12306火车票余票查询器
- 腾讯bugly接入详解
- 3J9D在contour-level之下
- 计算机运用基础2020四川传媒学院考题,2020年计算机基础考试题EY[含答案](15页)-原创力文档...
- html表格中怎么将背景颜色虚化,如何在Photoshop中制作效果惊艳模糊背景!
- Centos7虚拟机的DNS服务器的配置和测试
- IntelliJ IDEA 2022.2正式发布,支持Spring Boot 3和Spring 6
- android bp文件_Android编译系统中的Android.bp【转】
热门文章
- java 千位分隔,如何在Java中设置千位分隔符?
- qml入门学习(四):附加信号Component.onCompleted和Component.onDestruction
- (6)DFS(深度优先搜索算法):n皇后问题
- C语言之字符串探究(八):strchr、strstr、strtok
- 最大功率点跟踪_华北电力大学颜湘武团队特稿:基于变功率点跟踪和超级电容器储能协调控制的双馈风电机组一次调频策略...
- mysql sql option_MySQL 报错MySQL server syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT'
- teamviewer设备数量上限怎么解决_会议音响设备出现啸叫怎么办?不要担心,这3个方法帮你解决...
- python理论知识选择题_python基础知识练习题(二)
- php根据时间搜索的控件,yii2 crud生成的搜索中 自定义按 时间 搜索
- linux 发送socket命令,如何从linux中的命令行向socket.io websocket发送消息?