python学习科普--函数及方法的调用
2020-01-10 本文已影响0人
orange_ade
问题:
1、在类A里面写一个方法A:随机给出一组整数(list之类),将之求和
2、在类B里面继承类A,并将类A里的方法A重写为:根据求和结果,返回“和是奇数”“和是偶数”
- one.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import random
#方法一:直接给出随机字符串
class TestSum:
def get_sum(self):
r = random.sample(range(0,100),10) #使用random随机库获取到0~100区间内随机10位整数
print(r)
s = 0
for num in range(0,len(r)): #对所有随机数进行求和,len(r)获得随机列表的元素个数
s = s + int(r[num]) #r[num]读取列表中第num位元素的值
else:
print("列表元素之和为:", s)
return sum
if __name__ == '__main__':
TestSum().get_sum() #执行上面TestSum类下的方法get_sum
#方法二:手动输入一串数字,有个缺点是不能识别输入的是两位数,12会存储成['1','2']
class TestSum(object):
def get_sum(self):
list = []
enter = input("请输入一串随机数:")
list.extend(enter) #将手动输入的值添加进list列表中,单个字符分开存储,例如输入的是:123存储到list中就是:['1', '2', '3']
print(list)
sum = 0
for num in range(0,len(enter)):
sum = sum + int(list[num])
else:
print("列表元素之和为:", sum)
return sum
if __name__ == '__main__':
TestSum.get_sum()
#方法三:手动输入想输入几个元素就输入几个(优化后)
class TestSum(object):
def get_sum(self):
list = []
n = input("请问你想输入几个数:") #先判断你想输入几个数字
i = 0
while i < int(n):
num = input("请输入:") #根据上面的判断,循环输入n次数字
list.insert(i,num) #将输入的数字分别插入到list当中
i +=1
print(list)
else:
sum = 0
for num in range(0,len(list)): #上面循环结束后,这里将存储到list当中的数字累加起来
sum = sum + int(list[num])
else:
print("列表元素之和为:", sum)
return sum
if __name__ == '__main__':
x = TestSum().get_sum()
#方法四:自己传入一个数组[]进行计算
class TestSum(object):
def __init__(self, v): # 类似于c++中的默认构造函数,只有一个self,指的是实例的本身,但是在方法的类部,包含一个属性:v。它允许定义一个空的结构,当新数据来时,可以直接添加。实例化时,需要实例化之后,再进行赋值。
self.v = v
def get_sum(self):
list = self.v
print(list)
sum = 0
for num in range(0, len(list)):
sum = sum + int(list[num])
else:
print("列表元素之和为:", sum)
return sum
if __name__ == '__main__':
x = TestSum([1, 2, 4]).get_sum() #这里v=[1, 2, 4]
- two.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from vivid.homework.one_day.one import TestSum #从one.py文件中直接引入类:TestSum
class TestType(object):
def get_type(self):
s = TestSum().get_sum() #直接调用one.py文件中的get_sum()方法,并赋值给s
print("{0}".format(s)) #format相当于以前的占位符:%s、%d;{0}表示取format中的第一位变量或常量;例如:print("{1},{0}".format(a,b))
a = int(s)
if (a % 2) == 0:
print("和是偶数")
else:
print("和是奇数")
if __name__ == '__main__':
TestType().get_type()
#针对one.py文件最后一个实例
class TestType(object):
def get_type(self):
s = TestSum([1, 2, 4]).get_sum()
print("{0}".format(s))
if (s % 2) == 0:
print("和是偶数")
else:
print("和是奇数")
if __name__ == '__main__':
TestType().get_type()