面向对象练习题

1.面向对象练习题

  1. 功能描述

定义一个类:MyYear ,它包含:

1个实例属性:year
用户由键盘随机输入一个年份,如:2018,将该值作为MyYear类__init__方法的一个参数传入,并赋给类的实例属性year

7个实例方法:

  1. show_season()
    打印该年所有月份,并显示所属季节,如:“1月 冬季 2月 冬季 3月 春季”等

  2. isleap()
    打印该年是否是闰年(能被4整除但不能被100整除,或者能被400整除的年 份),如:如果属性year的值为2018,则输出:“2018年不是闰年”

  3. year_sum()
    打印从1到该年所在数字之间所有整数的和,如:如果属性year的值为2018, 则计算1+2+3+4+5+…+2018的值并输出结果。

  4. check_num()
    判断该年所在数字是否是回文数(即是给定一个数,这个数顺读和逆读都是一样 的)并输出判断结果,如:如果属性year的值为2002,则输出“2002是回文 数”, 如果属性year的值为2018,则输出“2018不是回文数”

  5. show_leap_year()
    判断从公元1年到该年所在的区间内的所有年份,输出所有闰年年份
    如:如果属性year的值为20,则输出 4 8 12 16 20

  6. show_num_div()
    打印出从1-该年所在数字之间所有能被9整除或者包含数字9的年份,
    如:如果属性year的值为20,则输出 9 18 19

class MyYear:
    def __init__(self, year):
        self.year = year

# n = input('请输入年份:')
# a = MyYear(n)
# print(a.year)


#     def show_season(self):
#         for i in range(1,13):
#             if i>=3 and i<=5:
#                 print("春")
#             elif i>=6 and i<=8:
#                 print("xia")
#             elif i>=9 and i<=11:
#                 print("qiu")
#             else:
#                 print("dong")
# a = input("请输入:")
# y=MyYear(a)
# y.show_season()


#     def isleap(self):
#         if ((Lx%4==0 and Lx%100!=0) or (Lx%400==0)):
#             print("是闰年")
#         else:
#             print("不是")
# Lx = int (input("请输入年份:"))
# y=MyYear(Lx)
# y.isleap()


#     def year_sum(self):
#         s=0
#         if Lx ==2018:
#             for i in range(1,2018):
#                 s=s+i
#             print(s)
#         else:
#             print("错误")
# Lx = int (input("请输入"))
# y=MyYear(Lx)
# y.year_sum()

#     def check_num(self):
#         a = reversed(list(Lx5))
#         if list(a) == list(Lx5):
#             print("是回文数")
#         else:
#             print("不是回文数")
#
# Lx5 = input("请重新输入一个字符串:")
# y = MyYear(Lx5)
# y.check_num()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值