码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象练习题

时间:2020-06-21 13:41:04      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:div   lse   回文数   用户   -name   ntb   int   else   输出   

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()

面向对象练习题

标签:div   lse   回文数   用户   -name   ntb   int   else   输出   

原文地址:https://www.cnblogs.com/Stubbornlyn/p/13172131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!