鱼C论坛

 找回密码
 立即注册
查看: 3017|回复: 6

[已解决]我写的计算买票花费的小程序,运行时提示calculate需要三个参数但是我传入了4个参数

[复制链接]
发表于 2016-3-7 10:17:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class zoomTicket:
    fare = 100
    def __holiday(adult,child):
        money = (fare * 1.2) * (adult + (0.5 * child))
        print('您需要支付%d元。',money)
   
    def __normal(adult,child):
        money = fare * (adult + (0.5 * child))
        print('您需要支付%d元。',money)

    def calculate(adult,child,which_day):
        num = which_day
        if num in [1,2,3,4,5]:
            __normal(adult,child)
        elif num in [6,7]:
            __holiday(adult,child)
        else:
            print('您输入的日期有误!!')

adult = int(input('请输入大人的数量:'))
child = int(input('请输入小孩的数量:'))
which_day = int(input('请输入今天日期:'))

h = zoomTicket()
h.calculate(adult,child,which_day)
        
最佳答案
2016-3-7 16:05:32
肚肚装炸弹 发表于 2016-3-7 16:03
你好 我是想把holiday和normal函数私有化,为什么就会出现参数数量的问题呢

按你说的也可以:
  1. class zoomTicket:
  2.     fare = 100
  3.     def __holiday(self,adult,child):
  4.         money = (self.fare * 1.2) * (adult + (0.5 * child))
  5.         print('您需要支付%d元。'%money)
  6.    
  7.     def __normal(self,adult,child):
  8.         money = self.fare * (adult + (0.5 * child))
  9.         print('您需要支付%d元。'%money)

  10.     def calculate(self,adult,child,which_day):
  11.         num = which_day
  12.         if num in [1,2,3,4,5]:
  13.             self.__normal(adult,child)
  14.         elif num in [6,7]:
  15.             self.__holiday(adult,child)
  16.         else:
  17.             print('您输入的日期有误!!')

  18. adult = int(input('请输入大人的数量:'))
  19. child = int(input('请输入小孩的数量:'))
  20. which_day = int(input('请输入今天日期:'))

  21. h = zoomTicket()
  22. h.calculate(adult,child,which_day)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-3-7 10:20:34 | 显示全部楼层
问题的题目如下:
按照以下要求定义一个游乐园门票的类,并尝试计算两个成人和一个小孩的平日票价。
*平日票价为100元
*周末票价为平日的120%
*儿童半票
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-7 10:58:35 | 显示全部楼层
修改了一下。
  1. class zoomTicket:
  2.     fare = 100
  3.     def holiday(self,adult,child):
  4.         money = (self.fare * 1.2) * (adult + (0.5 * child))
  5.         print('您需要支付%d元。'%money)
  6.    
  7.     def normal(self,adult,child):
  8.         money = self.fare * (adult + (0.5 * child))
  9.         print('您需要支付%d元。'%money)

  10.     def calculate(self,adult,child,which_day):
  11.         num = which_day
  12.         if num in [1,2,3,4,5]:
  13.             self.normal(adult,child)
  14.         elif num in [6,7]:
  15.             self.holiday(adult,child)
  16.         else:
  17.             print('您输入的日期有误!!')

  18. adult = int(input('请输入大人的数量:'))
  19. child = int(input('请输入小孩的数量:'))
  20. which_day = int(input('请输入今天日期:'))

  21. h = zoomTicket()
  22. h.calculate(adult,child,which_day)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-7 16:03:32 | 显示全部楼层

你好 我是想把holiday和normal函数私有化,为什么就会出现参数数量的问题呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-3-7 16:05:32 | 显示全部楼层    本楼为最佳答案   
肚肚装炸弹 发表于 2016-3-7 16:03
你好 我是想把holiday和normal函数私有化,为什么就会出现参数数量的问题呢

按你说的也可以:
  1. class zoomTicket:
  2.     fare = 100
  3.     def __holiday(self,adult,child):
  4.         money = (self.fare * 1.2) * (adult + (0.5 * child))
  5.         print('您需要支付%d元。'%money)
  6.    
  7.     def __normal(self,adult,child):
  8.         money = self.fare * (adult + (0.5 * child))
  9.         print('您需要支付%d元。'%money)

  10.     def calculate(self,adult,child,which_day):
  11.         num = which_day
  12.         if num in [1,2,3,4,5]:
  13.             self.__normal(adult,child)
  14.         elif num in [6,7]:
  15.             self.__holiday(adult,child)
  16.         else:
  17.             print('您输入的日期有误!!')

  18. adult = int(input('请输入大人的数量:'))
  19. child = int(input('请输入小孩的数量:'))
  20. which_day = int(input('请输入今天日期:'))

  21. h = zoomTicket()
  22. h.calculate(adult,child,which_day)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-7 16:49:54 | 显示全部楼层
冬雪雪冬 发表于 2016-3-7 16:05
按你说的也可以:

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-16 01:24:20 From FishC Mobile | 显示全部楼层
为什么要写self   看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-20 01:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表