20的作业

# 1.	请手写一个函数,用来取出1—100(均包含)中5的倍数或者带有数字5的所有整数
def func1():
    for i in range(1, 101):
        if i % 5 == 0 or '5' in str(i):
            print(i)

# 2.	lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv']  写一个函数将该列表中的tt变成大写
def func2():
    lis = [2, 3, 'k', ['qwe', 20, ['k', ['tt', 3, '1']], 89], 'ab', 'adv']
    lis[3][2][1][0]= "TT"         # 查下标替换tt 为 TT
    print(lis)

# 3. 打印该年所有月份,并显示所属季节,如:“1月 冬季 2月 冬季 3月 春季”等
# for i in range(1,13):         #循环 1 - 12,然后判断
#     if i>=3 and i<=5:
#         print("春季")
#     elif i>=6 and i<=8:
#         print("夏季")
#     elif i>=9 and i<=11:
#         print("秋季")
#     else:
#         print("冬季")

# 4. 用户由键盘随机输入一个年份,如:2018,打印该年是否是闰年(能被4整除但不能被100整除,或者能被400整除的年	份)
# def func3():
#     s = int(input('输入:'))
#     if s%400 == 0 or(s % 100 != 0 and s % 4 == 0):
#         print('闰年')
#     else:
#         print('不是闰年')
#
# # 5. 判断数字是否是回文数(数字顺读和逆读都是一样)
# def func5():
#     s = input('输入:')
#     if s == s[::-1]:
#         print('是回文数')
#     else:
#         print('不是')
#
# 面向对象

# 1. 功能描述
# 定义一个类:MyYear ,它包含:
class MyYear(object):
# 1个实例属性:year
# 用户由键盘随机输入一个年份,如:2018,将该值作为MyYear类__init__方法的一个参数传入,并赋给类的实例属性year
    def __init__(self,year):
        self.year = year
# 7个实例方法:
# 1)	show_season()
# 打印该年所有月份,并显示所属季节,如:“1月 冬季 2月 冬季 3月 春季”等
    def show_season(self):
        for i in range(1,13):
            if i in [3,4,5]:
                print("%d月春季" % i)
            elif i in [6,7,8]:
                print("%d月夏季" % i)
            elif i in [9,10,11]:
                print("%d月秋季" % i)
            else:
                print("%d月冬季" % i)
# 2)	isleap()
# 打印该年是否是闰年(能被4整除但不能被100整除,或者能被400整除的年	份),如:如果属性year的值为2018,则输出:“2018年不是闰年”
    def isleap(self):
        for i in range(1,self.year):
            if (i%4==0 and i%100!=0) or i % 400 ==0:
                print("%d是闰年" % i)
            else:
                print("%d不是闰年" % i)
#
# 3)	year_sum()
# 打印从1到该年所在数字之间所有整数的和,如:如果属性year的值为2018,	则计算1+2+3+4+5+...+2018的值并输出结果。
    def year_sum(self):
        print(sum(range(1,self.year+1)))

# 4)	check_num()
# 判断该年所在数字是否是回文数(即是给定一个数,这个数顺读和逆读都是一样	的)并输出判断结果,如:如果属性year的值为2002,则输出“2002是回文	数”,	如果属性year的值为2018,则输出“2018不是回文数”
    def check_num(self):
        self.year = str(self.year)
        if self.year == self.year[::-1]:
            print("%d是回文数" % int(self.year))
        else:
            print("%d不是回文数" % int(self.year))

#5)	show_leap_year()
#判断从公元1年到该年所在的区间内的所有年份,输出所有闰年年份
#如:如果属性year的值为20,则输出 4  8  12 16  20
    def show_leap_year(self):
        for i in range(1,int(self.year)):
            if i%4==0 and i%100!=0 or(i%400==0):
                print(i)

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

            if i%9==0 or "9"in str(i):
                print(i)

year = int(input("年份:"))
p = MyYear(year)
p.show_season()
p.isleap()
p.year_sum()
p.check_num()
p.show_leap_year()
p.show_num_div()


# #2. 功能描述
# #定义一个类:MyNum,它包含:
class MyNum():
# #1个实例属性:num
    def __init__(self,num):
        self.num = num

# #用户由键盘随机输入一个正整数数字,如:100,将该值作为MyNum类__init__方法的一个参数传入,并赋给类的实例属性num
# #6个实例方法:
# #1)	show_num()
# #打印从1到属性num之间所有的数字,如:如果属性num为100,则打印“1 2 3 4 ...99 	100”
    def show_num(self):
        for i in range(1,num+1):
            print(i)
# #2)	calc_sum()
# #计算从1-num之间所有数字的和并输出,如:如果属性num的值为100,则计算	1+2+3+...+99+100的值
    def clac_sum(self):
        print(sum(range(1,num+1)))
# #3)	calc_odd_sum()
# #计算从1-num之间所有奇数的和并输出,如:如果属性num的值为100,则计算	1+3+5+7+...+99的值
    def calc_odd_sum(self):
        print(sum(range(1,num+1,2)))
# #4)	calc_even_sum()
# #计算从1-num之间所有偶数的和并输出,如:如果属性num的值为100,则计算	2+4+6+8+...+100的值
    def calc_even_sum(self):
        print(sum(range(2,num+1,2)))
# #5)	show_num_div()
# ##打印出从1-num之间所有能被7整除的数
    def show_num_div(self):
        l = [i for i in range(1,num+1) if i%7==0]
        print(l)
# #6)	check_num()
# #判断num是否是回文数(即是给定一个数,这个数顺读和逆读都是一样的)并输	出判断结果,
# 如:如果属性num的值为101,则输出“101是回文数”;如果属性	num的值为123,则输出“123不是回文数”
    def check_num(self):
        self.num = str(self.num)
        if self.num == self.num[::-1]:
            print("%d是回文数" % int(self.num))
        else:
            print("%d是回文数" % int(self.num))


num = int(input("输入数:"))
p1 = MyNum(num)
# p1.show_num()
# p1.clac_sum()
# p1.calc_odd_sum()
# p1.calc_even_sum()
# p1.show_num_div()
# p1.check_num()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值