面向对向

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

def func(b): #定义函数 添加形参 b
for i in range(1,b+1): #循环所有1-b所有数字
if i%5==0 or "5"in str(i): #判断3的倍数或者带有数字3的所有整数
print(i) #输出
func(100) #调用函数 添加实参

方法2
def func():
l = [i for i in range(1,101) if i%5==0 or "5"in str(i)]
print(l)
func()


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

def func():
lis = [2, 3, 'k', ['qwe', 20, ['k', ['tt', 3, '1']], 89], 'ab', 'adv']
lis[3][2][1][0]= "TT" # 查下标替换tt 为 TT
print(lis)
func()


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

class MyYear(object):

def __init__(self, year): # 定义实例属性
self.year = year

def show_season(self):
for i in range(1,13): #循环 1 - 12,然后判断
if i>=3 and i<=5:
print("%d 春季" % i)
elif i>=6 and i<=8:
print("%d 夏季" % i)
elif i>=9 and i<=11:
print("%d 秋季" % i)
else:
print("%d 冬季" % i)

year = int(input("输入年份:"))
p = MyYear(year)
p.show_season()


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

class MyYear(object):

def __init__(self, year): # 定义实例属性
self.year = year

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

year = int(input("输入年份:"))
p = MyYear(year)
p.isleap()


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

class MyYear(object):

def __init__(self, year): # 定义实例属性
self.year = year

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

year = int(input("输入年份:"))
p = MyYear(year)
p.check_num()

 

#面向对象
定义一个类: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): #循环 1 - 12,然后判断
if i>=3 and i<=5:
print("%d 春季" % i)
elif i>=6 and i<=8:
print("%d 夏季" % i)
elif i>=9 and i<=11:
print("%d 秋季" % i)
else:
print("%d 冬季" % i)
2 isleap()

打印该年是否是闰年(能被4整除但不能被100整除,或者能被400整除的年 份),如:如果属性year的值为2018,则输出:“2018年不是闰年”
def isleap(self):
if self.year%400==0 or (self.year%4==0 and self.year%100!=0): # 判断闰年
print("%d年是闰年" % self.year)
else:
print("%d不是闰年" % self.year)

3 year_sum()

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

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年到该年所在的区间内的所有年份,输出所有闰年年份
def show_leap_year(self):
self.year=int(self.year) #转换类型
for i in range(1,self.year+1): # 循环1—year所有年份
if (i%4==0 and i%100!=0) or (i%400==0): #判断闰年
print(int(i))
如:如果属性year的值为20,则输出 4 8 12 16 20


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): # 循环1—year所有年份
if i%9==0 or "9" in str(i): # 判断9整除或者包含数字9的年份
print(i)
方法2
def show_num_div(self):
l = [i for i in range(1,self.year+1) if i%9==0 or "9" in str(i)]
print(l)

 

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

 


二. 功能描述

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

class MyNum():

1个实例属性:num

用户由键盘随机输入一个正整数数字,如:100,将该值作为MyNum类__init__方法的一个参数传入,并赋给类的实例属性num
def __init__(self,num): #实例属性
self.num = 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): # 循环1到属性num之间所有的数字
print(i)

2 calc_sum()

计算从1-num之间所有数字的和并输出,如:如果属性num的值为100,则计算 1+2+3+...+99+100的值
def calc_sum(self):
print(sum(range(1,num+1,))) #1到属性num之间所有的数字计算和


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))) #1到属性num之间所有的数字计算奇数和

4 calc_even_sum()

计算从1-num之间所有偶数的和并输出,如:如果属性num的值为100,则计算 2+4+6+8+...+100的值
def clac_even_sum(self):
print(sum(range(0,num+1,2))) #1到属性num之间所有的数字计算偶数和

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("请输入数字"))
p = MyNum(num)
p.show_num()
p.calc_sum()
p.calc_odd_sum()
p.clac_even_sum()
p.show_num_div()
p.check_num()

posted @ 2020-06-21 23:57  IRYl  阅读(218)  评论(0编辑  收藏  举报