面向对象练习题
Posted stubbornlyn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象练习题相关的知识,希望对你有一定的参考价值。
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()
以上是关于面向对象练习题的主要内容,如果未能解决你的问题,请参考以下文章
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段