• 面向对象练习题


    1.请手写一个函数,用来取出1—100(均包含)中5的倍数或者带有数字5的所有整数

    def fun1():

    for i in range(1,101):

    if i%5==0 or '5' in str(i):

    print(i)

    fun1()

    2. lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv'] 写一个函数将该列表中的tt变成大写

    def fun2():

    lis = [2, 3, 'k', ['qwe', 20, ['k', ['tt', 3, '1']], 89], 'ab', 'adv']

    a = str(lis).replace('tt','TT')

    print(a)

    fun2()

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

    def fun3():

    for i in range(1, 13):

    if i in (12, 1, 2):

    print(i, "冬季")

    elif i in (3, 4, 5):

    print(i, "春季")

    elif i in (6, 7, 8):

    print(i, "夏季")

    else:

    print(i, "秋季")

    fun3()

    4. 用户由键盘随机输入一个年份,如:2018,打印该年是否是闰年(能被4整除但不能被100整除,或者能被400整除的年 份)

    def fun4(b):

    if b % 4 == 0 and b % 100 != 0 or b % 400 == 0:

    print(b,"是闰年")

    else:

    print(b,'不是闰年')

    year = int(input('请输入年份:'))

    fun4(year)

    5. 判断数字是否是回文数(数字顺读和逆读都是一样)

    def fun5(a):

    if a == a[::-1]:

    print(a,'是回文数,回文数是',a[::-1])

    else:

    print(a,"不是回文数")

    a = input("请输入数字:")

    fun5(a)

    面向对象

    1. 功能描述

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

    1个实例属性:year

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

    class MyYear(object):
    def init(self):
    self.year = int(input("请输入年份:"))

    7个实例方法:

    1) show_season()

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

    def show_season(self):
        for i in range(1, 13):
            if i in (12, 1, 2):
                print(i, "冬季")
    
            elif i in (3, 4, 5):
                print(i, "春季")
    
            elif i in (6, 7, 8):
                print(i, "夏季")
    
            else:
                print(i, "秋季")
    

    2) isleap()

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

    def isleap(self):
        if self.year % 4 == 0 and self.year % 100 != 0 or self.year % 400 == 0:
            print(self.year, "是闰年")
        else:
            print(self.year, '不是闰年')
    

    3) year_sum()

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

    def year_sum(self):
        a = 1
        sum = 0
        while a <= self.year:
            sum += a
            a += 1
        print(sum)
    

    4) check_num()

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

    def check_num(self):
        if self.year == self.year[::-1]:
            print(self.year,'是回文数,回文数是',self.year[::-1])
        else:
            print(self.year,"不是回文数")
    

    5) show_leap_year()

    判断从公元1年到该年所在的区间内的所有年份,输出所有闰年年份

    如:如果属性year的值为20,则输出 4 8 12 16 20

    def show_leap_year(self):
        for i in range(1,self.year+1):
            if i % 4 == 0 and i % 100 != 0 or i % 400 == 0:
                print(i, "是闰年")
            else:
                pass
    

    6) show_num_div()

    打印出从1-该年所在数字之间所有能被9整除或者包含数字9的年份,

    如:如果属性year的值为20,则输出 9 18 19

    def show_num_div(self):
        for i in range(1,self.year+1):
            if i % 9 == 0  or '9' in str(i) :
                print(i)
            else:
                pass
    

    if name == 'main':

    # b =MyYear()
    # b.year_sum()
    # b.show_leap_year()
    # b.show_num_div()
    

    2. 功能描述

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

    1个实例属性:num

    用户由键盘随机输入一个正整数数字,如:100,将该值作为MyNum类__init__方法的一个参数传入,并赋给类的实例属性num

    class MyNum(object):
    def init(self):
    self.num = int(input("请输入一个整数数字:"))

    6个实例方法:

    1) show_num()

    打印从1到属性num之间所有的数字,如:如果属性num为100,则打印“1 2 3 4 ...99 100”

    def show_num(self):
        for i in range(1,self.num+1):
            print(i)
    

    2) calc_sum()

    计算从1-num之间所有数字的和并输出,如:如果属性num的值为100,则计算 1+2+3+...+99+100的值

    def calc_sum(self):
        a = 1
        sum = 0
        while a<= self.num:
            sum += a
            a +=1
        print(sum)
    

    3) calc_odd_sum()

    计算从1-num之间所有奇数的和并输出,如:如果属性num的值为100,则计算 1+3+5+7+...+99的值

    def calc_odd_sum(self):
        a = 1
        sum = 0
        while a <= self.num:
            if a%2==1:
                sum += a
                a +=2
            else:
                pass
        print(sum)
    

    4) calc_even_sum()

    计算从1-num之间所有偶数的和并输出,如:如果属性num的值为100,则计算 2+4+6+8+...+100的值

    def calc_even_sum(self):
        sum = 0
        for i in range(1,self.num+1):
            if i%2==0:
                sum += i
                i += 1
        print(sum)
    

    5) show_num_div()

    打印出从1-num之间所有能被7整除的数

    def show_num_div(self):
        for i in range(1,self.num+1):
            if i%7==0:
                print(i)
    

    6) check_num()

    判断num是否是回文数(即是给定一个数,这个数顺读和逆读都是一样的)并输 出判断结果,如:如果属性num的值为101,则输出“101是回文数”;如果属性 num的值为123,则输出“123不是回文数”

    def check_num(self):
        if self.num == self.num[::-1]:
            print(self.num,'是回文数,回文数是',self.num[::-1])
        else:
            print(self.num,"不是回文数")
    

    if name == 'main':
    c=MyNum()
    # c.calc_sum()
    # c.calc_odd_sum()
    # c.calc_even_sum()
    # c.show_num_div()
    c.check_num()

    没有结果就是最好的结果。 -Linux哲学
  • 相关阅读:
    JS自动微信消息轰炸
    会议管家——常用的JQ知识点
    关于微信分享
    前端——解决微信网页清除缓存的方法
    2018新知识点
    一键分享代码(提供能分享到QQ空间、新浪微博、人人网等的分享功能)
    如何在网中使用百度地图API自定义个性化地图
    spring5 源码深度解析----- IOC 之 默认标签解析(上)
    spring5 源码深度解析----- IOC 之 容器的基本实现
    高级Java工程师必备 ----- 深入分析 Java IO (三)
  • 原文地址:https://www.cnblogs.com/Stubbornlyn/p/13172131.html
Copyright © 2020-2023  润新知