python 练习2020/10/26

习题8:两个 33列的矩阵,实现其对应位置的数据相加,并返回一个矩阵
x = [ [12,7,3], [4, 5,6], [7 ,8,9] ]
y = [ [5,8,1], [6, 7,3], [4 ,5,9] ]
result=x
for i in range(len(x)):
    for j in range(len(x[i])):
        result[i][j]+=y[i][j]
print(result)

#2
x = [ [12,7,3], [4, 5,6], [7 ,8,9] ]
y = [ [5,8,1], [6, 7,3], [4 ,5,9] ]
result=[[0,0,0],[0,0,0],[0,0,0]]
for i in range(len(x)):
    for j in range(len(x[i])):
        result[i][j]=x[i][j]+y[i][j]

print(result)


习题9:把所有的输入参数中的字母个数统计出来

import sys
letter_count=0
for i in sys.argv[1:]:#通过命令行传参,第一个是程序的名字,后面的才是传的参数
    for j in i:
        letter_count+=1

print(letter_count)

习题10:你输入的参数全部都是数字,计算所有数字参数的和

import sys

count=0
for i in sys.argv[1:]:
    count+=float(i)

print(count)

习题11:输入一个数字,如果是数字退出,不是数字让用户继续输入
while True:
    try:
        input_number=input('请输入一个数字:')
        if input_number.isdigit():
            break
    except:
        continue
#2       
while True:
    try:
        number = int(input("请输入一个数字: "))
    except:
        print("try again")
    else:
        break

习题12:代码行统计工具
import os
import sys
count_dirs=0
count_files=0
count_code_line=0 
count_comment_line=0 
count_blank_line=0#可以用i.strip()or i.split()
if os.path.exists(sys.argv[1]):
    for root,dirs,files in os.walk(sys.argv[1]):
        for dir in dirs:
            count_dirs+=1
        for file in files:
            count_files+=1
            file_path=os.path.join(root,file)
            with open(file_path,'r',encoding='utf-8')as fp:
                content=fp.readlines()
                for line in content:
                    if line.strip()=='':#判断空行
                        count_blank_line+=1
                    elif line.strip().startswith('#'):#判断是不是注释
                        count_comment_line+=1
                    elif line.strip().startswith('"""') or line.strip().startswith("'''"): #判断是不是多行注释
                        count_comment_line+=1
                    else:
                        count_code_line+=1
                    
print('一共有%s目录'%count_dirs)
print('一共有%s文件'%count_files)
print('一共有%s有效代码行'%count_code_line)
print('一共有%s空行'%count_blank_line)
print('一共有%s注释行'%count_comment_line)
                    
    
1、实现自己的数学模块mymath,提供有4个函数,分别为加减乘除,在B模块中调用A模块的函数。
def add(*args,**kwargs):
    result=0
    for num in args:
        result+=num
    return result

from a import *
print(add(1,2,3))

################## 
def sub(a,b,*args):
    number=a-b
    for num in args:
        number-=num
    return number

from a import *
print(sub(9,2,3,1))    

##################### 
def mul(a,b,*args):
    number=a*b
    for i in args:
        number*=i
    return number

from a import *
print(mul(1,2,3,4))
   
###############
def div(a,b,*args):
    number=a/b
    for i in args:
        number/=i
    return number

from a import *
print(div(4,2,1))



【为什么学PythonPython 是当今非常热门的语言之一,2020年的 TIOBE 编程语言排行榜中 ,Python名列第一,并且其流行度依然处在上升势头。 在2015年的时候,在网上还经常看到学Python还是学R的讨论,那时候老齐就选择了Python,并且开始着手出版《跟老齐学Python》。时至今日,已经无需争论。Python给我们带来的,不仅仅是项目上的收益,我们更可以从它“开放、简洁”哲学观念中得到技术发展路线的启示。 借此机会,老齐联合CSDN推出了本课程,希望能影响更多的人走进Python,踏入编程的大门。 【课程设计】 本课程共包含三大模块: 一、基础知识篇 内置对象和基本的运算、语句,是Python语言的基础。本课程在讲解这部分知识的时候,不是简单地将各种知识做简单的堆砌,而是在兼顾内容的全面性的同时,更重视向学习者讲授掌握有关知识的方法,比如引导学习者如何排查错误、如何查看和理解文档等。   二、面向对象篇 “面向对象(OOP)”是目前企业开发主流的开发方式,本课程从一开始就渗透这种思想,并且在“函数”和“类”的学习中强化面向对象开发方式的学习——这是本课程与一般课程的重要区别,一般的课程只在“类”这里才提到“对象”,会导致学习者茫然失措,并生畏惧,乃至于放弃学习。本课程则是从开始以“润物细无声”的方式,渗透对象概念,等学习到本部分的时候,OOP对学习者而言有一种“水到渠成”的感觉。   三、工具实战篇 在项目实战中,除了前述的知识之外,还会用到很多其他工具,至于那些工具如何安装?怎么自己做工具?有那些典型工具?都是这部分的内容。具体来说,就是要在这部分介绍Python标准库的应用以及第三方包的安装,还有如何开发和发布自己的工具包。此外,很多学习Python的同学,未来要么从事数据科学、要么从事Web开发,不论哪个方向,都离不开对数据库的操作,本部分还会从实战的角度,介绍如何用Python语言操作常用数据库。
©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页