python - 第 34 行的 elif 语句出现错误。它说语法无效。我尝试将缩进和 elif 语句更改为 if else
问题描述
class book:
def __init__(self,aut, pub, p, cp=0):
self.author=aut
self.publisher=pub
self.price=p
self.copies=cp
def get_author(self):
return self._author
def set_author(self, aut):
self._author=aut
return
author=property(get_author, set_author)
def get_publisher(self):
return self._publisher
def set_publisher(self, pub):
self._publisher=pub
return
publisher=property(get_publisher, set_publisher)
def get_price(self):
return self._price
def set_price(self,p):
self._price=p
return
price=property(get_price, set_price)
def get_copies(self):
return self._copies
def set_copies(self,cp):
self._copies=cp
return
copies=property(get_copies, set_copies)
def get_royalty(self):
if self.copies<=500:
self._royalty=self.copies*self.price*10/100
elif:
self.copies<=1000:
self._royalty=500*self.price*10/100+ \
(self.copies-500)*self.price*12.5/100
else:
self._royalty=500*self.price*10/100 + \
500*self.price*12.5/100 + \
(self.copies-1000)*self.price*15/100
return self._royalty
class ebook(book):
def __init__(self, aut, pub, p, cp=0, form=None):
super().__init__(aut,pub,p,cp)
self.format=form
def get_format(self):
return self._format
def set_format(self, form):
self._format=form
return
format=property(get_format, set_format)
def get_royalty(self):
ryl=super().get_royalty()
ryl=ryl-ryl*12/100
self._royalty=ryl
return self._royalty
if __name__== "__main__":
print ('print book example')
b1=book('aa','ss',100,600)
print ("Royalty earned : ", b1.get_royalty())
print ('ebook example')
e1=ebook('aa','ss',100, 3, 'PDF')
print ('Royalty earned' , e1.get_royalty())
第 34 行的 elif 语句出现错误。它说语法无效。我尝试更改缩进并将 elif 语句更改为 if else。我尝试更改 def 和 return 语句的缩进以及 elif 语句,但没有任何改进。我也尝试合并代码块,但这没有帮助。我应该怎么做才能无错误地运行代码?
解决方案
我修复了代码的缩进,现在语法错误消失了,一切都按预期工作:
class Book:
def __init__(self, aut, pub, p, cp=0):
self._author = aut
self._publisher = pub
self._price = p
self._copies = cp
def get_author(self):
return self._author
def set_author(self, aut):
self._author = aut
author = property(get_author, set_author)
def get_publisher(self):
return self._publisher
def set_publisher(self, pub):
self._publisher = pub
publisher = property(get_publisher, set_publisher)
def get_price(self):
return self._price
def set_price(self, p):
self._price = p
price = property(get_price, set_price)
def get_copies(self):
return self._copies
def set_copies(self, cp):
self._copies = cp
copies = property(get_copies, set_copies)
def get_royalty(self):
if self._copies <= 500:
self._royalty = self._copies * self._price * 10 / 100
elif self._copies <= 1000:
self._royalty = 500 * self._price * 10 / 100 + \
(self._copies - 500) * self._price * 12.5 / 100
else:
self._royalty = 500 * self._price * 10 / 100 + \
500 * self._price * 12.5 / 100 + \
(self._copies - 1000) * self._price * 15 / 100
return self._royalty
class Ebook(Book):
def __init__(self, aut, pub, p, cp=0, form=None):
super().__init__(aut, pub, p, cp)
self._format = form
def get_format(self):
return self._format
def set_format(self, form):
self._format = form
format = property(get_format, set_format)
def get_royalty(self):
ryl = super().get_royalty()
ryl = ryl - ryl * 12 / 100
self._royalty = ryl
return self._royalty
if __name__ == "__main__":
print('print book example')
b1 = Book('aa', 'ss', 100, 600)
print("Royalty earned : ", b1.get_royalty())
print('ebook example')
e1 = Ebook('aa', 'ss', 100, 3, 'PDF')
print('Royalty earned', e1.get_royalty())
推荐阅读
- php - 如何解决(2/2)ErrorException View [dashboard] not found in laravel 5.4
- php - 如何在 woocommerce 中使用 user_id 或会话 id 获取购物车商品?
- ibm-mq - 为 XMS.NET 中的每个连接配置单独的 CCDT 文件
- ngxs - ngxs:在 Action 中访问不同的状态
- javascript - Vue.js 是否可以在运行时解析“@”符号?
- machine-learning - 二进制数据 SVM 多类的归一化
- hive - 如何删除hive中的jar文件?
- android - 如何从android volley中的url重复显示图像?
- node.js - NPM 安装错误“位置 0 的 JSON 中的意外令牌 <”
- git - 如何将自定义消息从 git 服务器发送到远程克隆?