day23

day23
1.输出以下如下规律的矩阵
# 第一个for用来规范矩阵有多少行,第二个for来生成每一行的数据
for i in range(1,5):
for k in range(1,6):
if i ==1:
print(k,end='')
elif i ==2:
print(k*2,end='')
elif i ==3:
print(k*3,end='')
elif i == 4:
print(k*4,end='')
elif i == 5:
print(k*5,end='')
print() # 功能类似回车
 
2.对一个列表求和,如列表是[4, 3, 6],求和结果是 [4, 7, 13],每一项的值都等与该项的值加上前一项的值
# 方法一通过获取获取长度来取值,长度为3,012,用l[0,i+1]的方式取到后面的值
l = [4,3,6]
result = []
for i in range(len(l)):
result.append(sum(l[0:i+1]))
 
# reduce() 函数回对参数序列中的元素进行累加
# reduce(函数,可迭代对象) 第一个参数为一个函数,可以用lambda,第二个是可迭代对象
from functools import reduce
l = [4,3,6]
result = []
temp_list = [] # 一共遍历三次,第一次将一个值放入,第二次放入两个值,以此类推
for i in l:
temp_list.append(i)
result.append(reduce(lambda x,y:x+y, temp_list))
 
3.一个字符串 list,每个元素是 1 个 ip,输出出现次数最多的 ip
# 先用dict统计出现次数,然后再遍历dict,使用max获取最大值
ip_list = ["168.1.1.1","168.1.1.1","168.1.1.2","168.1.1.3"]
num_dict = {}
for i in ip_list:
if i in num_dict:
num_dict[i] += 1
else:
num_dict[i] = 1
for k,v in num_dict.items():
if v == max(num_dict.values()):
print(k)
 
4.打印100以内的素数
def isPrime(num):
if num ==1:
return False
for i in range(2,num//2+1):
if num % i == 0:
return False
return True
 
for i in range(1,101):
if isPrime(i):
print(i,end=' ')
5.实现一个简易版的计算器,功能要求:加、减、乘、除,支持多数同时进行计算
class Calculator:
def __init__(self,*args):
self.args = args
def add(self):
result = 0
for i in self.args:
result += i
print("加法:%s" % result)
def reduc(self):
result = 0
for i in self.args:
result -= i
print("减法:%s" % result)
def multiplication(self):
result = 1
for i in self.args:
result *= i
print("乘法:%s" % result)
def division(self):
result = 1
for i in self.args:
result /= i
print("除法:%s" % result)
def main(self):
self.add()
self.reduc()
self.multiplication()
self.division()
 

原文地址:https://www.cnblogs.com/jueshilaozhongyi/p/12100143.html