当前位置:   article > 正文

EduCoder实践课程——Python程序设计入门答案_educoder python答案

educoder python答案

记:由于疫情暂时返不了校,然后学校大四毕业年级布置了在线实训的任务,我选择了实践课程Python程序设计入门。以前没有学过,但是感觉Python挺好入门的,把自己学习过程中的代码记录下来,一是为了自己写报告方便,二来大家可以作为参考代码,如果有更好的代码可以留言,大家相互学习。

1、Python初体验

    第1关:Hello Python,我来了!

  1. # coding=utf-8
  2. # 请在此处添加代码完成输出“Hello Python”,注意要区分大小写!
  3. ########## Begin ##########
  4. print("Hello Python")
  5. ########## End ##########

2、 Python 入门之字符串处理

    第1关:字符串的拼接:名字的组成

  1. # coding=utf-8
  2. # 存放姓氏和名字的变量
  3. first_name = input()
  4. last_name = input()
  5. # 请在下面添加字符串拼接的代码,完成相应功能
  6. ########## Begin ##########
  7. full_name=first_name+" "+last_name
  8. print(full_name)
  9. ########## End ##########

    第2关:字符转换

  1. # coding=utf-8
  2. # 获取待处理的源字符串
  3. source_string = input()
  4. # 请在下面添加字符串转换的代码
  5. ########## Begin ##########
  6. source_string1=source_string.strip()
  7. transform_string=source_string1.title()
  8. print(transform_string)
  9. lenth=len(transform_string)
  10. print(lenth)
  11. ########## End ##########

    第3关:字符串查找与替换

  1. # coding = utf-8
  2. source_string = input()
  3. # 请在下面添加代码
  4. ########## Begin ##########
  5. print(source_string.find('day'))
  6. new_string=source_string.replace('day','time')
  7. print(new_string)
  8. new_string2=new_string.split(' ')
  9. print(new_string2)
  10. ########## End ##########

3、Python 入门之玩转列表

    第1关:列表元素的增删改:客人名单的变化

  1. # coding=utf-8
  2. # 创建并初始化Guests列表
  3. guests = []
  4. while True:
  5. try:
  6. guest = input()
  7. guests.append(guest)
  8. except:
  9. break
  10. # 请在此添加代码,对guests列表进行插入、删除等操作
  11. ########## Begin ##########
  12. lenth=len(guests)
  13. deleted_guest=guests.pop()
  14. print(deleted_guest)
  15. guests.insert(2,deleted_guest)
  16. guests.pop(1)
  17. print(guests)
  18. ########## End ##########

    第2关:列表元素的排序:给客人排序

  1. # coding=utf-8
  2. # 创建并初始化`source_list`列表
  3. source_list = []
  4. while True:
  5. try:
  6. list_element = input()
  7. source_list.append(list_element)
  8. except:
  9. break
  10. # 请在此添加代码,对source_list列表进行排序等操作并打印输出排序后的列表
  11. ########## Begin ##########
  12. source_list.sort(reverse=False)
  13. print(source_list)
  14. ########## End ##########

    第3关:数值列表:用数字说话

  1. # coding=utf-8
  2. # 创建并读入range函数的相应参数
  3. lower = int(input())
  4. upper = int(input())
  5. step = int(input())
  6. # 请在此添加代码,实现编程要求
  7. ########## Begin ##########
  8. sourse_list=list(range(lower,upper,step))
  9. lenth=len(sourse_list)
  10. print(lenth)
  11. min_value=min(sourse_list)
  12. max_value=max(sourse_list)
  13. print(max_value-min_value)
  14. ########## End ##########

 

    第4关:列表切片:你的菜单和我的菜单

  1. # coding=utf-8
  2. # 创建并初始化my_menu列表
  3. my_menu = []
  4. while True:
  5. try:
  6. food = input()
  7. my_menu.append(food)
  8. except:
  9. break
  10. # 请在此添加代码,对my_menu列表进行切片操作
  11. ########## Begin ##########
  12. lenth=len(my_menu)
  13. list_slice=my_menu[:lenth:3]
  14. print(list_slice)
  15. list_slice2=my_menu[-3:]
  16. print(list_slice2)
  17. ########## End ##########

4、 Python 入门之元组与字典

    第1关:元组的使用:这份菜单能修改吗?

  1. # coding=utf-8
  2. # 创建并初始化menu_list列表
  3. menu_list = []
  4. while True:
  5. try:
  6. food = input()
  7. menu_list.append(food)
  8. except:
  9. break
  10. # 请在此添加代码,对menu_list进行元组转换以及元组计算等操作,并打印输出元组及元组最大的元素
  11. ###### Begin ######
  12. print(tuple(menu_list))
  13. print(max(menu_list))
  14. ####### End #######

    第2关:字典的使用:这份菜单可以修改

  1. # coding=utf-8
  2. # 创建并初始化menu_dict字典
  3. menu_dict = {}
  4. while True:
  5. try:
  6. food = input()
  7. price = int(input())
  8. menu_dict[food]= price
  9. except:
  10. break
  11. # 请在此添加代码,实现对menu_dict的添加、查找、修改等操作,并打印输出相应的值
  12. ########## Begin ##########
  13. menu_dict['lamb']=50;
  14. print(menu_dict['fish'])
  15. menu_dict['fish']=100
  16. del menu_dict['noodles']
  17. print(menu_dict)
  18. ########## End ##########

    第3关:字典的遍历:菜名和价格的展示

  1. # coding=utf-8
  2. # 创建并初始化menu_dict字典
  3. menu_dict = {}
  4. while True:
  5. try:
  6. food = input()
  7. price = int(input())
  8. menu_dict[food]= price
  9. except:
  10. break
  11. # 请在此添加代码,实现对menu_dict的遍历操作并打印输出键与值
  12. ########## Begin ##########
  13. for key in menu_dict.keys():
  14. print(key)
  15. for value in menu_dict.values():
  16. print(value)
  17. ########## End ##########

    第4关:嵌套 - 菜单的信息量好大

  1. # coding=utf-8
  2. # 初始化menu1字典,输入两道菜的价格
  3. menu1 = {}
  4. menu1['fish']=int(input())
  5. menu1['pork']=int(input())
  6. # menu_total列表现在只包含menu1字典
  7. menu_total = [menu1]
  8. # 请在此添加代码,实现编程要求
  9. ########## Begin ##########
  10. menu2={}
  11. menu2['fish']=menu1['fish']*2
  12. menu2['pork']=menu1['pork']*2
  13. menu_total=[menu1,menu2]
  14. ########## End ##########
  15. # 输出menu_total列表
  16. print(menu_total)

5、Python 入门之运算符的使用

    第1关:算术、比较、赋值运算符

  1. # 定义theOperation方法,包括apple和pear两个参数,分别表示苹果和梨子的数量
  2. def theOperation(apple,pear):
  3. # 请在此处填入计算苹果个数加梨的个数的代码,并将结果存入sum_result变量
  4. ########## Begin ##########
  5. sum_result=apple+pear
  6. ########## End ##########
  7. print(sum_result)
  8. # 请在此处填入苹果个数除以梨的个数的代码,并将结果存入div_result变量
  9. ########## Begin ##########
  10. div_result=apple/pear
  11. ########## End ##########
  12. print(div_result)
  13. # 请在此处填入苹果个数的2次幂的代码,并将结果存入exp_result变量
  14. ########## Begin ##########
  15. exp_result=apple**2
  16. ########## End ##########
  17. print(exp_result)
  18. # 请在此处填入判断苹果个数是否与梨的个数相等的代码,并将结果存入isequal变量
  19. ########## Begin ##########
  20. isequal=(apple==pear)
  21. ########## End ##########
  22. print(isequal)
  23. # 请在此处填入判断苹果个数是否大于等于梨的个数的代码,并将结果存入ismax变量
  24. ########## Begin ##########
  25. ismax=(apple>=pear)
  26. ########## End ##########
  27. print(ismax)
  28. # 请在此处填入用赋值乘法运算符计算梨个数乘以2的代码,并将结果存入multi_result变量
  29. ########## Begin ##########
  30. multi_result=pear*2
  31. ########## End ##########
  32. print(multi_result)

    第2关:逻辑运算符

  1. # 定义逻辑运算处理函数theLogic,其中tom与Jerry分别代表两个输入参数
  2. def theLogic(tom,jerry):
  3. # 请在此处填入jerry的布尔“非”代码,并将结果存入到not_result这个变量
  4. ########## Begin ##########
  5. not_result=not jerry
  6. ########## End ##########
  7. print(not_result)
  8. # 请在此处填入tom,jerry的逻辑与代码,并将结果存入到and_result这个变量
  9. ########## Begin ##########
  10. and_result=tom and jerry
  11. ########## End ##########
  12. print(and_result)

    第3关:位运算符

  1. # 定义位运算处理函数bit, 其中bitone和bittwo两个参数为需要进行位运算的变量,由测试程序读入。
  2. def bit(bitone,bittwo):
  3. # 请在此处填入将bitone,bittwo按位与的代码,并将运算结果存入result变量
  4. ########## Begin ##########
  5. result=bitone & bittwo
  6. ########## End ##########
  7. print(result)
  8. # 请在此处填入将bitone,bittwo按位或的代码,并将运算结果存入result变量
  9. ########## Begin ##########
  10. result=bitone | bittwo
  11. ########## End ##########
  12. print(result)
  13. # 请在此处填入将bitone,bittwo按位异或的代码,并将运算结果存入result变量
  14. ########## Begin ##########
  15. result=bitone ^ bittwo
  16. ########## End ##########
  17. print(result)
  18. # 请在此处填入将bitone按位取反的代码,并将运算结果存入result变量
  19. ########## Begin ##########
  20. result=(~bitone)
  21. ########## End ##########
  22. print(result)
  23. # 请在此处填入将bittwo左移动两位的代码,并将运算结果存入result变量
  24. ########## Begin ##########
  25. result=(bittwo<<2)
  26. ########## End ##########
  27. print(result)
  28. # 请在此处填入将bittwo右移动两位的代码,并将运算结果存入result变量
  29. ########## Begin ##########
  30. result=(bittwo>>2)
  31. ########## End ##########
  32. print(result)

    第4关:成员运算符

  1. # 定义成员片段函数member,参数me为待判断的人名,member_list为成员名单
  2. def member(me,member_list = []):
  3. # 请在if后面的括号中填入判断变量me是否存在于list中的语句
  4. ########## Begin ##########
  5. if( me in member_list):
  6. print("我是篮球社成员")
  7. else:
  8. print("我不是篮球社成员")
  9. ########## End ##########
  10. # 请在if后面的括号中填入判断变量me是否存在于list中的语句
  11. ########## Begin ##########
  12. if(me not in member_list):
  13. print("我不是篮球社成员")
  14. else:
  15. print("我是篮球社成员")
  16. ########## End ##########

    第5关:身份运算符

  1. # 定义addressone和addresstwo两个变量,并为其赋值
  2. addressone = 20
  3. addresstwo = 20
  4. addressthree = 12
  5. # 在if后面的括号中填入判断变量addressone与变量addresstwo是否有相同的存储单元的语句
  6. ########## Begin ##########
  7. if(addressone is addresstwo):
  8. print("变量addressone与变量addresstwo有相同的存储单元")
  9. else:
  10. print("变量addressone与变量addresstwo的存储单元不同")
  11. ########## End ##########
  12. # 在if后面的括号中填入判断变量addresstwo与变量addressthree是否没有相同的存储单元的语句
  13. ########## Begin ##########
  14. if(addresstwo is not addressthree):
  15. print("变量addresstwo与变量addressthree的存储单元不同")
  16. else:
  17. print("变量addresstwo与变量addressthree有相同的存储单元")
  18. ########## End ##########

第6关:运算符的优先级

  1. # 定义并实现优先级运算函数theProirity
  2. def thePriority(var1,var2,var3,var4):
  3. # 先将var1左移两位,然后计算var1与var2的和,最后后将这个值乘以var3,并将最终结果存入result变量
  4. ########## Begin ##########
  5. result=((var1<<2)+var2)*var3
  6. ########## End ##########
  7. print(result)
  8. # 先将var1与var2按位与,然后计算得到的值与var3的和,最后后将这个值乘以var4,并将最终结果存入result变量
  9. ########## Begin ##########
  10. result=((var1 & var2)+var3)*var4
  11. ########## End ##########
  12. print(result)

6、 Python 入门之控制结构 - 顺序与选择结构

    第1关:顺序结构

  1. changeOne = int(input())
  2. changeTwo = int(input())
  3. plus = int(input())
  4. # 请在此添加代码,交换changeOne、changeTwo的值,然后计算changeOne、plus的和result的值
  5. ########## Begin ##########
  6. temp=changeOne
  7. changeOne=changeTwo
  8. changeTwo=temp
  9. result=changeOne+plus
  10. ########## End ##########
  11. print(result)

    第2关:选择结构:if-else

  1. workYear = int(input())
  2. # 请在下面填入如果workYear < 5的判断语句
  3. ########## Begin ##########
  4. if(workYear<5):
  5. ########## End ##########
  6. print("工资涨幅为0")
  7. # 请在下面填入如果workYear >= 5 and workYear < 10的判断语句
  8. ########## Begin ##########
  9. elif(workYear>=5 and workYear<10):
  10. ########## End ##########
  11. print("工资涨幅为5%")
  12. # 请在下面填入如果workYear >= 10 and workYear < 15的判断语句
  13. ########## Begin ##########
  14. elif(workYear>=10 and workYear<15):
  15. ########## End ##########
  16. print("工资涨幅为10%")
  17. # 请在下面填入当上述条件判断都为假时的判断语句
  18. ########## Begin ##########
  19. else:
  20. ########## End ##########
  21. print("工资涨幅为15%")

第3关:选择结构 : 三元操作符

  1. jimscore = int(input())
  2. jerryscore = int(input())
  3. # 请在此添加代码,判断若jim的得分jimscore更高,则赢家为jim,若jerry的得分jerryscore更高,则赢家为jerry,并输出赢家的名字
  4. ########## Begin ##########
  5. winner=('jim' if jimscore>jerryscore else 'jerry')
  6. ########## End ##########
  7. print(winner)

7、Python 入门之控制结构 - 循环结构

    第1关:While 循环与 break 语句

  1. partcount = int(input())
  2. electric = int(input())
  3. count = 0
  4. #请在此添加代码,当count < partcount时的while循环判断语句
  5. #********** Begin *********#
  6. while(count<partcount):
  7. #********** End **********#
  8. count += 1
  9. print("已加工零件个数:",count)
  10. if(electric):
  11. print("停电了,停止加工")
  12. #请在此添加代码,填入break语句
  13. #********** Begin *********#
  14. break
  15. #********** End **********#

    第2关:for 循环与 continue 语句

  1. absencenum = int(input())
  2. studentname = []
  3. inputlist = input()
  4. for i in inputlist.split(','):
  5. result = i
  6. studentname.append(result)
  7. count = 0
  8. #请在此添加代码,填入循环遍历studentname列表的代码
  9. #********** Begin *********#
  10. for student in studentname:
  11. #********** End **********#
  12. count += 1
  13. if(count == absencenum):
  14. #在下面填入continue语句
  15. #********** Begin *********#
  16. continue
  17. #********** End **********#
  18. print(student,"的试卷已阅")

    第3关:循环嵌套

  1. studentnum = int(input())
  2. #请在此添加代码,填入for循环遍历学生人数的代码
  3. #********** Begin *********#
  4. for student in range(0,studentnum):
  5. #********** End **********#
  6. sum = 0
  7. subjectscore = []
  8. inputlist = input()
  9. for i in inputlist.split(','):
  10. result = i
  11. subjectscore.append(result)
  12. #请在此添加代码,填入for循环遍历学生分数的代码
  13. #********** Begin *********#
  14. for score in subjectscore:
  15. #********** End **********#
  16. score = int(score)
  17. sum = sum + score
  18. print("第%d位同学的总分为:%d" %(student,sum))

    第4关:迭代器

  1. List = []
  2. member = input()
  3. for i in member.split(','):
  4. result = i
  5. List.append(result)
  6. #请在此添加代码,将List转换为迭代器的代码
  7. #********** Begin *********#
  8. IterList=iter(List)
  9. #********** End **********#
  10. while True:
  11. try:
  12. #请在此添加代码,用next()函数遍历IterList的代码
  13. #********** Begin *********#
  14. num=next(IterList)
  15. #********** End **********#
  16. result = int(num) * 2
  17. print(result)
  18. except StopIteration:
  19. break

8、Python 入门之函数结构

    第1关:函数的参数 - 搭建函数房子的砖

  1. # coding=utf-8
  2. # 创建一个空列表numbers
  3. numbers = []
  4. # str用来存储输入的数字字符串,lst1是将输入的字符串用空格分割,存储为列表
  5. str = input()
  6. lst1 = str.split(' ')
  7. # 将输入的数字字符串转换为整型并赋值给numbers列表
  8. for i in range(len(lst1)):
  9. numbers.append(int(lst1.pop()))
  10. # 请在此添加代码,对输入的列表中的数值元素进行累加求和
  11. ########## Begin ##########
  12. def s(*numbers):
  13. add=0
  14. for i in numbers:
  15. add+=i
  16. return (add)
  17. d=s(*numbers)
  18. ########## End ##########
  19. print(d)

    第2关:函数的返回值 - 可有可无的 return

  1. # coding=utf-8
  2. # 输入两个正整数a,b
  3. a = int(input())
  4. b = int(input())
  5. # 请在此添加代码,求两个正整数的最大公约数
  6. ########## Begin ##########
  7. def gcd(a,b):
  8. if(b==0):
  9. return a
  10. else:
  11. return(gcd(b,a%b))
  12. ########## End ##########
  13. # 调用函数,并输出最大公约数
  14. print(gcd(a,b))

第3关:函数的使用范围:Python 作用域

  1. # coding=utf-8
  2. # 输入两个正整数a,b
  3. a = int(input())
  4. b = int(input())
  5. # 请在此添加代码,求两个正整数的最小公倍数
  6. ########## Begin ##########
  7. def gcd(a,b):
  8. if(b==0):
  9. return a
  10. else:
  11. return(gcd(b,a%b))
  12. def lcm(a,b):
  13. temp=gcd(a,b)
  14. return int(a*b/temp)
  15. ########## End ##########
  16. # 调用函数,并输出a,b的最小公倍数
  17. print(lcm(a,b))

9、 Python 入门之类的基础语法

    第1关:类的声明与定义

  1. # 请在下面填入定义Book类的代码
  2. ########## Begin ##########
  3. class Book(object):
  4. ########## End ##########
  5. '书籍类'
  6. def __init__(self,name,author,data,version):
  7. self.name = name
  8. self.author = author
  9. self.data = data
  10. self.version = version
  11. def sell(self,bookName,price):
  12. print("%s的销售价格为%d" %(bookName,price))

    第2关:类的属性与实例化

  1. class People:
  2. # 请在下面填入声明两个变量名分别为name和country的字符串变量的代码
  3. ########## Begin ##########
  4. ########## End ##########
  5. def introduce(self,name,country):
  6. self.name = name
  7. self.country = country
  8. print("%s来自%s" %(name,country))
  9. name = input()
  10. country = input()
  11. # 请在下面填入对类People进行实例化的代码,对象为p
  12. ########## Begin ##########
  13. p=People()
  14. ########## End ##########
  15. p.introduce(name,country)

    第3关:绑定与方法调用

  1. import fractionSumtest
  2. # 请在下面填入创建fractionSum的实例fs的代码
  3. ########## Begin ##########
  4. fs=fractionSumtest.fractionSum()
  5. ########## End ##########
  6. n = int(input())
  7. if n % 2 == 0:
  8. # 请在下面填入调用fractionSumtest类中dcall方法的代码,计算当n为偶数时计算的和
  9. ########## Begin ##########
  10. sum=fs.dcall(fs.peven,n)
  11. ########## End ##########
  12. else:
  13. # 请在下面填入调用fractionSumtest类中dcall方法的代码,计算当n为奇数时计算的和
  14. ########## Begin ##########
  15. sum=fs.dcall(fs.podd,n)
  16. ########## End ##########
  17. print(sum)

    第4关:静态方法与类方法

  1. class BookSell:
  2. static_var = 100
  3. def sell(self,name,author,version,price):
  4. print("%s的销售价格为%d" %(name,int(price)))
  5. # 请在下面填入函数修饰符将printStatic()方法声明为静态方法
  6. ########## Begin ##########
  7. @staticmethod
  8. ########## End ##########
  9. def printStatic():
  10. print(BookSell.static_var)
  11. # 请在下面填入函数修饰符将printVersion(cls)方法声明为类方法
  12. ########## Begin ##########
  13. @classmethod
  14. ########## End ##########
  15. def printVersion(cls):
  16. print(cls)

    第5关:类的导入

  1. # 从 DataChangetest 模块中导入 DataChange 类,并使用该类中的 eightToten(self,p) 方法,实现将输入的八进制转换成十进制输出。
  2. ########## Begin ##########
  3. import DataChangetest
  4. obj=DataChangetest.DataChange()
  5. n=input()
  6. obj.eightToten(n)
  7. ########## End ##########

10、Python 入门之类的继承

    第1关:初识继承

  1. import animalstest
  2. # 请在下面填入定义fish类的代码,fish类继承自animals类
  3. ########## Begin ##########
  4. class fish(animalstest.animals):
  5. ########## End ##########
  6. def __init__(self,name):
  7. self.name = name
  8. def swim(self):
  9. print("%s会游泳" %self.name)
  10. # 请在下面填入定义leopard类的代码,leopard类继承自animals类
  11. ########## Begin ##########
  12. class leopard(animalstest.animals):
  13. ########## End ##########
  14. def __init__(self,name):
  15. self.name = name
  16. def climb(self):
  17. print("%s会爬树" %self.name)
  18. fName = input()
  19. lName = input()
  20. f = fish(fName)
  21. f.breath()
  22. f.swim()
  23. f.foraging()
  24. l = leopard(lName)
  25. l.breath()
  26. l.run()
  27. l.foraging()

    第2关:覆盖方法

  1. class Point:
  2. def __init__(self,x,y,z,h):
  3. self.x = x
  4. self.y = y
  5. self.z = z
  6. self.h = h
  7. def getPoint(self):
  8. return self.x,self.y,self.z,self.h
  9. class Line(Point):
  10. # 请在下面填入覆盖父类getPoint()方法的代码,并在这个方法中分别得出x - y与z - h结果的绝对值
  11. ########## Begin ##########
  12. def getPoint(self):
  13. length_one=abs(self.x-self.y)
  14. length_two=abs(self.z-self.h)
  15. ########## End ##########
  16. print(length_one,length_two)

    第3关:从标准类派生

  1. class ChangeAbs(int):
  2. def __new__(cls, val):
  3. # 填入使用super()内建函数去捕获对应父类以调用它的__new__()方法来计算输入数值的绝对值的代码
  4. # 求一个数的绝对值的函数为abs()
  5. # 返回最后的结果
  6. ########## Begin ##########
  7. return super(ChangeAbs,cls).__new__(cls,abs(val))
  8. ########## End ##########
  9. class SortedKeyDict(dict):
  10. def keys(self):
  11. # 填入使用super()内建函数去捕获对应父类使输入字典自动排序的代码
  12. # 返回最后的结果
  13. ########## Begin ##########
  14. return sorted(super(SortedKeyDict,self).keys())
  15. ########## End ##########

    第4关:多重继承

  1. class A(object):
  2. def test(self):
  3. print("this is A.test()")
  4. class B(object):
  5. def test(self):
  6. print("this is B.test()")
  7. def check(self):
  8. print("this is B.check()")
  9. # 请在下面填入定义类C的代码
  10. ########## Begin ##########
  11. class C(A,B):
  12. ########## End ##########
  13. pass
  14. # 请在下面填入定义类D的代码
  15. ########## Begin ##########
  16. class D(A,B):
  17. ########## End ##########
  18. def check(self):
  19. print("this is D.check()")
  20. class E(C,D):
  21. pass

11、 Python 入门之类的其它特性

    第1关:类的内建函数

  1. import specialmethodtest
  2. sc = specialmethodtest.subClass()
  3. # 请在下面填入判断subClass是否为parentClass的子类的代码,并输出结果
  4. ########## Begin ##########
  5. print(issubclass(specialmethodtest.subClass,specialmethodtest.parentClass))
  6. ########## End ##########
  7. # 请在下面填入判断sc是否为subClass实例的代码,并输出结果
  8. ########## Begin ##########
  9. print(isinstance(sc,specialmethodtest.subClass))
  10. ########## End ##########
  11. # 请在下面填入判断实例sc是否包含一个属性为name的代码,并输出结果
  12. ########## Begin ##########
  13. print(hasattr(sc,'name'))
  14. ########## End ##########
  15. # 请在下面填入将sc的属性name的值设置为subclass的代码
  16. ########## Begin ##########
  17. setattr(sc,'name','subclass')
  18. ########## End ##########
  19. # 请在下面填入获取sc的属性name的值的代码,并输出结果
  20. ########## Begin ##########
  21. print(getattr(sc,'name'))
  22. ########## End ##########
  23. # 请在下面填入调用subClass的父类的tell()方法的代码
  24. ########## Begin ##########
  25. specialmethodtest.parentClass.tell(sc)
  26. ########## End ##########

    第2关:类的私有化

  1. import Bagtest
  2. price = int(input())
  3. bag = Bagtest.Bag(price)
  4. # 请在下面填入输出Bag类中变量__price的代码
  5. ########## Begin ##########
  6. print(bag._Bag__price)
  7. ########## End ##########
  8. # 请在下面填入输出Bag类中变量_price的代码
  9. ########## Begin ##########
  10. print(bag._price)
  11. ########## End ##########

    第3关:授权

  1. class WrapClass(object):
  2. def __init__(self,obj):
  3. self.__obj = obj
  4. def get(self):
  5. return self.__obj
  6. def __repr__(self):
  7. return 'self.__obj'
  8. def __str__(self):
  9. return str(self.__obj)
  10. # 请在下面填入重写__getattr__()实现授权的代码
  11. ########## Begin ##########
  12. def __getattr__(self,thelist):
  13. return getattr(self.__obj,thelist)
  14. ########## End ##########
  15. thelist = []
  16. inputlist = input()
  17. for i in inputlist.split(','):
  18. result = i
  19. thelist.append(result)
  20. # 请在下面填入实例化类,并通过对象调用thelist,并输出thelist第三个元素的代码
  21. ########## Begin ##########
  22. temp=WrapClass(thelist)
  23. temp_list=temp.get()
  24. print(temp_list[2])
  25. ########## End ##########

    第4关:对象的销毁

  1. import delObjecttest
  2. # 请在下面声明类delObject的实例,并将其引用赋给其它别名,然后调用del方法将其销毁
  3. ########## Begin ##########
  4. temp=delObjecttest.delObject()
  5. temp2=temp
  6. del(temp)
  7. ########## End ##########

全部代码更新完毕~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/712910
推荐阅读
相关标签
  

闽ICP备14008679号