python学习 - CSDN
  • 不要再问我python好不好学了 我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包...

    不要再问我python好不好学了
    我之前做过半年少儿编程老师,一个小学四年级的小孩子都能在我的教学下独立完成python游戏,植物大战僵尸简单版,如果要肯花时间,接下来的网络开发也不是问题,人工智能也可以学个调包也没啥问题。。。。。所以python真的是想学就一定能学会的!!!!

    **

    ----------公众号【一行数据】----------领取资料-----------回复【python】

    **

    先聊聊互联网转行那些事儿
    很多人是小白,想从事或转行互联网,想以python为切入口,那么恭喜你,这可能是你离互联网工作最捷径的一条道路了,毕竟python相对于java,C等语言代码量小,更加简单易学,只要肯用心,最多只需要两个月,就能找到一份对应的工作,当然任何一份技能要精进都需要一万小时,得做好心理准备
    同时也许你有学历,数学,学习方法等种种问题,我将在文末一一解答
    下面将从基础语法,高阶语法,前端开发,web开发,爬虫开发,自动化运维,数据分析,人工智能介绍学习攻略,并附上全套学习资料

    1.Python基础语法-主线任务1

    使用python就像一个自由度超高的游戏,你得学会以下几点python基础语法,拿到进入这个游戏世界的钥匙:

    • 计算机组成原理
    • Python开发环境
    • Python变量
    • 流程控制语句
    • 高级变量类型
    • 函数应用
    • 文件操作
    • 面向对象编程
    • 异常处理
    • 模块和包

    2.Python高阶语法-主线任务2

    学习完基础语法,写写算法题不成问题,但是对应更复杂的环境和需求需要学习一些高阶内容,学完以下内容就可以刷副本,攒经验升级了:

    • 网络编程
    • 并发编程
    • 数据库编程
    • 正则表达式
    • Linux系统应用
    • 函数的高级应用
    • Python语法高阶
      学完以上两个主线任务就可以进行正式的工作内容,副本1,2,3一组紧密相关,副本4单独一组,副本5,6一组紧密相关,也可以从这三组选一个来学尽快加入工作

    3.副本1-前端开发

    看你对做个网页做个app有没有兴趣,学完副本3,4可以动手做一个相关的产品,来以此去求职,当然做的质量越高,学的东西就要越多,工资也是成正比的

    • HTML
    • CSS
    • PS的应用
    • JavaScript
    • jQuery
    • Vue.js框架

    4.副本2-后端开发

    对于网页,游戏等的后台支持,需要熟练掌握框架的使用,掌握数据库原理及相关优化

    • Djano框架
    • 数据库mySQL,Redis,MongoDB
    • git项目管理
    • 接口开发
    • flask框架

    5.副本3-爬虫

    爬虫就是爬取网络上的数据,无论是网页还是app,只要你能看到的数据都能爬取下来,当然有爬虫就有反爬虫,两种职业互相博益还是挺有意思的,精通爬虫必须要精通副本1-前端开发,你得知道网页时怎么来的,才能更好的爬取下来,爬下来的数据也可以为副本4-数据分析做准备

    • 爬虫开发
    • scrapy框架
    • 索引操作
    • 备份和回复
    • 定制化爬虫采集系统

    6.副本4-自动化运维

    主要利用shell来做一些自动化脚本的发布

    7.副本5-数据分析

    数据分析主要学习两个科学计算库numpy和pandas,两个可视化库matplotlib和seaborn,学完之后数据清洗,数据展示没有问题,用python画出了图才能给别人讲出有意思的故事,同时也能为学习副本6-人工智能打下牢固的基础

    • 数据结构和算法
    • 科学计算pandas和numpy
    • 数据可视化matplotlib和seaborn
    • 金融数据分析等

    8.副本6-人工智能

    python之所以能火,主要是因为人工智能的风口,所谓风口上的 都会飞,那么python也许就是风口上的代码,人工智能的两大目的分别是分类和预测,主要在识别图片和预测未来等应用场景,同时python又有最大开源库可以调用这些包来应用,所以应用起来非常方便,但是如果想从事人工智能行业,需要一定的数学基础,了解底层算法,才能更好的进入到神经网络和深度学习的领域

    • 机器学习
    • 量化交易
    • 机器视觉
    • 深度学习
    • 自然语言处理

    相关问题

    1.学历重要吗

    python是一门技术语言,在技术岗面试的时候主要看面试者技术能力过不过硬,学历占比没有非技术岗那么大

    2.数学差可以学python吗

    python是一门编程语言主要讲究逻辑,用到数学的地方不多,但是在人工智能(机器学习)方面用到了大量的概率统计的数学知识,需要有一定的基础理解其中的原理,才能精进

    3.学习时候要不要抄代码

    要抄代码,就像下笔如有神一样,边学边敲代码,然后再改代码,然后再自己写代码一步步进阶

    4.各个副本的职业前景

    从就业前景来看:AI人工智能 > python后端 > web前端 > 数据分析 > 爬虫 但是任何一个副本只要打到10000小时经验值,钱景都非常可观
    在这里插入图片描述

    展开全文
  • 这是我学习python的一套流程,从入门到上手 一、Python入门、环境搭建、变量、数据类型 二、Python运算符、条件结构、循环结构 三、Python函数 四、做一次综合练习,做一个控制台的员工管理 """ 需求:员工管理...

    这是我学习python的一套流程,根据书本学习,从入门到上手,整理不易

    一、Python入门、环境搭建、变量、数据类型
    在这里插入图片描述
    二、Python运算符、条件结构、循环结构
    在这里插入图片描述
    三、Python函数
    在这里插入图片描述
    四、做一次综合练习,做一个控制台的员工管理

    """
    需求:员工管理系统
    功能:
    1.添加员工信息
    2.删除员工信息
    3.修改员工信息
    4.查看单个员工信息
    5.查看所有员工信息
    6.退出
    
    技术:函数、数据类型(字典列表)、循环、条件语句
    """
    emps = []   # [{},{}]
    
    
    def chocieFunc():
        """选择功能列表"""
        print("*" * 30)
        print("1.添加员工信息")
        print("2.删除员工信息")
        print("3.修改员工信息")
        print("4.查看单个员工信息")
        print("5.查看所有员工信息")
        print("6.退出")
        print("*" * 30)
    
    
    def addEmp():
        """添加员工信息"""
        id = input("请输入要添加的员工编号:")
        name = input("请输入要添加的员工姓名:")
        gender = input("请输入要添加的员工性别:")
        age = input("请输入要添加的员工年龄:")
        emp = {"id": id, "name": name, "gender": gender, "age": age}
        emps.append(emp)
        print("添加OK!")
    
    
    def delEmp():
        """删除员工信息"""
        id = input("请输入要删除的员工编号:")
        for emp in emps:
            if emp.get("id") == id:
                # 将emp删除,从emps
                emps.remove(emp)
                print("删除OK!")
                break
        else:
            print("请输入正确的员工编号")
    
    
    def updateEmp():
        """修改员工信息"""
        id = input("请输入要修改的员工编号:")
        for emp in emps:
            if emp["id"] == id:
                # 特别注意
                emp["name"] = input("请输入要修改后的员工姓名:")
                emp["gender"] = input("请输入要修改后的员工性别:")
                emp["age"] = input("请输入要修改后的员工年龄:")
                # emp = {"id": id, "name": name, "gender": gender, "age": age}
                # 先删除原有的emp,在追加新的emp【不推荐】
                print("修改成功!!!")
                break
        else:
            print("查无此人!!!")
    
    
    def getEmpById():
        """查看单个员工信息"""
        id = input("请输入要查询的员工编号:")
        for emp in emps:
            if emp["id"] == id:
                print("编号\t姓名\t性别\t年龄")
                print(f"{emp['id']}\t{emp['name']}\t{emp['gender']}\t{emp['age']}")
                break
        else:
            print("查无此人!!!")
    
    
    def getAllEmps():
        """查看所有员工信息"""
        print("编号\t姓名\t性别\t年龄")
        for emp in emps:
            print(f"{emp['id']}\t{emp['name']}\t{emp['gender']}\t{emp['age']}")
        else:
            print(f"共查询到{len(emps)}条数据")
    
    
    print("******欢迎使用员工管理系统******")
    while True:
        chocieFunc()
        num = int(input("请输入指令:"))
        if num == 1:
            addEmp()
        elif num == 2:
            delEmp()
        elif num == 3:
            updateEmp()
        elif num == 4:
            getEmpById()
        elif num == 5:
            getAllEmps()
        elif num == 6:
            print("欢迎下次再来!!!")
            break
        else:
            print("请输入正确的指令")
    
    

    五、面向对象(封装、继承、多态)
    在这里插入图片描述
    六、模块、包、文件、异常、高阶函数
    在这里插入图片描述
    七、Python标准库之字符串处理库、文件及目录操作、时间日期
    在这里插入图片描述
    八、Python数据库编程
    在这里插入图片描述
    之后就开始学习爬虫,Django、Flask了
    end…

    展开全文
  • Python初级入门精讲

    2019-10-31 11:01:15
    您观看课程学习后 可入群领取【超全Python资料包+17本学习电子书】 本课程为Python全栈开发初级入门篇-语言基础章节,学习完本篇章可对python语言有初步的掌握与理解,本课程侧重于初级学员,课程...
  • 今天小U就为大家分享几个神奇有效的Python学习网站 Python部落 这个网站对Pythoner们来说还是很实用的,它有三大主要功能:学习Python、练习知识点。 PS:如果你英文水平超好,还可以通过翻译技术文章赚点小钱勒~ ...

    想要学好Python,只靠看Python相关的书籍是远远不够的!互联网时代,我们还要充分利用网络上的免费资源,不然怎样成为一名优秀的Pythoner呢?今天小U就为大家分享几个神奇有效的Python学习网站
    Python部落

    这个网站对Pythoner们来说还是很实用的,它有三大主要功能:学习Python、练习知识点。

    PS:如果你英文水平超好,还可以通过翻译技术文章赚点小钱勒~

    网站的左侧----我是小白,我想入门。在这里,你可以根据自己目前的状况,选择不同的主题课程进行学习。小白的话当然是从左上角的《0基础1小时Python入门》开始啦~这个课程是免费的,也是基础中的基础。

    无数同学问Python怎么安装,虽然小白也推送过入门第一步:如何安装Python和搭建Python环境?但这个课程的第一节也给出了非常详细的说明,据说不按照这个说明安装的话,安装失败率会提高50%哦~
    网站的右侧-----刷题宝和翻译社。该功能中有数百道Python知识题,出题的知识点都非常刁钻,基本都是日常学习中的盲点。听说能把这个刷题宝中Python题目刷完的人,都是凤毛麟角的英才。

    翻译社,你可以在那里领取翻译任务、提交翻译结果,如果翻译通过还会得到承诺的稿酬。
    不过翻译前,大家请务必仔细阅读翻译社首页的要求,按照要求进行翻译。且务必通顺语句,如果直接用谷歌百度翻译,基本上100%不会通过,所以一定要有把握翻译好再认领哦~

    国外的大神GitHub*

    GitHub是一个面向开源及私有软件项目的托管平台,尽管现在已经被微软重金收购,但丝毫不影响大家对它的爱!
    对于学习编程的人来说,Github就是天堂。学习编程不像学语法这么简单,最关键的是要动手,学习编程讲究多看多练。Github就提供了很好的学习机会。Github上有很多适合入学者学习的小项目,代码少,而且简单。
    但Github毕竟是外国人做的,所以github网站全是英文,如果你想用它,可以在网上搜一些教程,反正操作只有几个,对英文要求也不是很高。

    python中文学习大本营

    这里有Python2.7.X官方教程、Python3.6.X官方教程以及Flask资料大全,如果你需要,在这里可以找到你想要的几乎所有的教程。

    展开全文
  • Python入门视频精讲

    2019-12-20 11:53:16
    Python入门视频培训课程以通俗易懂的方式讲解Python核心技术,Python基础,Python入门。适合初学者的教程,让你少走弯路! 课程内容包括:1.Python简介和安装 、2.第一个Python程序、PyCharm的使用 、3.Python基础...
  • 学习的课程Python程序设计的练习在拼题A上完成,为了记录学习过程,对课后练习进行整理 Python练习–01 题目: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码...

    python课后练习

    本学习的课程Python程序设计的练习在拼题A上完成,为了记录学习过程,对课后练习进行整理
    python课后练习整理(二)

    Python练习01

    判断题

    判断题

    1. 在Python 3.x中可以使用中文作为变量名
      答案:True
      原因:Python3中,源文件默认使用UTF-8编码
    2. Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。
      答案:False
      原因:在当前作用域内,可以对Python变量重新赋值,根据赋值不同,其类型也会发生改变
      示例:
      示例图片01
    3. Python运算符%不仅可以用来求余数,还可以用来格式化字符串
      答案:True
      示例:
      示例图片02
    4. 在Python 3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式,一律按字符串进行返回。
      答案:True
      示例:
      示例图片03
    5. 在Python中,变量不直接存储值,而是存储值的引用,也就是值在内存中的地址。
      答案:True
      示例:
      在这里插入图片描述

    编程题

    1. jmu-python-输入输出-计算字符串中的数
    将字符串中的每个数都抽取出来,然后统计所有数的个数并求和。
    
    输入格式:
    一行字符串,字符串中的数之间用1个空格或者多个空格分隔。
    
    输出格式:
    第1行:输出数的个数。
    第2行:求和的结果,保留3位小数。
    
    输入样例:
    
        2.1234    2.1     3    4 5 6
    
    输出样例:
    
        6
        22.223
    
    

    解答:

    s = input()
    num = s.split()
    Sum = 0
    for i in num:
        Sum += float(i)
    print(len(num))
    print("%0.3f" % Sum)
    
    1. 输入列表,求列表元素和(eval输入应用)
    在一行中输入列表,输出列表元素的和。
    
    输入格式:
    一行中输入列表。
    
    输出格式:
    在一行中输出列表元素的和。
    
    输入样例:
    
        [3,8,-5]
    
    输入样例:
    
        6
    
    

    解答:
    不使用eval()函数的时候,我是这么写的

    a=input().lstrip('[').rstrip(']')  # 先将输入的字符串去掉两端括号
    list=[] # 新建列表,用来存放数字
    for i in a.split(','):  # 再将字符串使用','切片
        list.append(int(i)) # 将字符列表里的字符型数字强制转换为数字型,并添加到list里
    sum=0
    for num in list: # 对列表list进行求和
        sum+=num
    print(sum)
    

    当我使用eval()函数

    list=eval(input()) # eval()函数直接将字符串类型的列表转化为列表类型
    sun = 0
    for num in list: # 列表求和
        sum+=num
    print(sum)
    
    1. 你好
    你的程序会读入一个名字,比如John,然后输出“Hello John”。
    
    输入格式:
    一行文字。
    
    输出格式:
    一行文字。
    
    输入样例:
    
        Mary Johnson
    
    输出样例:
    
        Hello Mary Johnson
    
    

    解答:

    # 直接进行字符串连接输出就可以了
    
    a=input()
    print("Hello",a) # print()函数在输出多个参数时,默认使用空格间隔
    
    # 以下是运行结果
        Mike
        Hello Mike
    
    1. List item
    程序会读入两行,每行都是一个数字,输出这两个数字的和
    
    输入格式:
    两行文字,每行都是一个数字
    
    输出格式:
    一行数字
    
    输入样例:
    
        18
        21
    
    输出样例:
    
        39
    
    

    解答:

    # 由于规定了输入格式为数字,所以只需进求和输出即可
    a = eval(input())
    b = eval(input())
    print(a+b)
    

    笔记

    input()函数
    获取用户输入,返回值为字符串
    如果需要在输入前打印提示信息,可以在括号里添加字符串
    如:python input("请输入")
    split()函数
    格式:split(str,num)
    功能:通过指定分隔符对字符串进行切片
    参数说明:str表示分割使用的字符,num表示分割次数,默认为全部分割
    eval()函数
    格式: eval(s)
    功能:将字符串格式的对象具现化

    Python练习02

    判断题

    在这里插入图片描述

    1. 已知st=“Hello World!”,使用print(st[0:-1])语句可以输出字符串变量st中的所有内容。(False)
      示例:
      在这里插入图片描述

    2. Python程序设计中的整数类型没有取值范围限制,但受限于当前计算机的内存大小。 True

    3. 已知: x=1 y=2 z=[2,3,4] 则语句 x not in z 计算结果是True。 True
      in 和 not in 在python里称为成员运算符,表示一个值是否属于某一序列,返回值为True或False

    4. 已知 x = 3,那么执行语句 x+=6 之后,x的内存地址不变。 False
      python使用引用型数据,所以进行运算后,数字型的x的地址会发生改变
      在这里插入图片描述

    单选题

    在这里插入图片描述

    1. 表达式1+2*3.14>0的结果类型是: (2分)
      int
      long
      float
      bool

    1+2*3.14显然大于0,所以结果是Ture,为bool型

    1. 八进制35的十进制值是_。 (2分)
      30
      25
      19
      29

    十进制转其他进制使用除n取余法,其他进制转十进制则相反,3*81+5*80

    1. Python语言正确的标识符是_。 (2分)
      2you
      my-name
      _item
      abc*234

    Python规定,标识符的命名必须只能采用字母数字下划线,且不能以数字开头

    1. _号表示同一行的后面部分是Python程序的注释。 (2分)
      *
      %
      /
      #

    Python里使用#进行行注释

    1. Python 语句 print(0xA + 0xB)的输出结果是__。 (2分)
      0xA + 0xB
      A + B
      0xA0xB
      21

    '0x’前缀表示十六进制,0xA 0xB分别表示10和11

    1. Python 语句’car’; y = 2; print (x+y)的输出结果是__。 (2分)
      语法错
      2
      'car2’
      'carcar’

    1,car两端的引号使用的是中文的单引号,非法
    2,Python里不以分号表示语句结束
    3,无法直接进行字符串和数字相加,如果要进行连接的话,应进行类型转换

    编程题

    1. 产生每位数字相同的n位数
    读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA...A,一共B个A
    
    输入格式:
    在一行中输入A和B。
    
    输出格式:
    在一行中输出整数AA...A,一共B个A
    
    输入样例1:
    在这里给出一组输入。例如:
    
          1,  5
    
    输出样例1:
    在这里给出相应的输出。例如:
    
        11111
    
    输入样例2:
    在这里给出一组输入。例如:
    
      3  ,4
    
    输出样例2:
    在这里给出相应的输出。例如:
    
        3333
    
    

    解答:

    a,b= eval(input())
    print(str(a)*b)
    
    1. 转换函数使用
    输入一个整数和进制,转换成十进制输出
    
    输入格式:
    在一行输入整数和进制
    
    输出格式:
    在一行十进制输出结果
    
    输入样例:
    在这里给出一组输入。例如:
    
        45,8
    
    输出样例:
    在这里给出相应的输出。例如:
    
        37
    
    

    解答:

    a,b=eval(input())
    print(int(str(a),b)) # int(str,num)将num进制的数str转换为十进制
    
    1. jmu-python-统计字符个数
    输入一个字符串,统计其中数字字符及小写字符的个数
    
    输入格式:
    输入一行字符串
    
    输出格式:
    共有?个数字,?个小写字符,?填入对应数量
    
    输入样例:
    
        helo134ss12
    
    输出样例:
    
        共有5个数字,6个小写字符
    
    

    解答:

    lowerletters=0
    numbers=0
    strs=input()
    for c in strs:
      if(c.islower()):
        lowerletters+=1
      if(c.isdigit()):
        numbers+=1
    print('共有%d个数字,%d个小写字符' % (numbers,lowerletters))
    

    笔记

    1. Python进制函数,常见的有
      bin()# 二进制,二进制数字格式为0b**
      oct()# 八进制,八进制数字格式为0o**
      hex()# 十六进制,十六进制数字格式为0x**
    2. 字符串的乘法
      python里直接用字符串乘以一个数n,表示n个相同字符串拼接而成的字符串
    3. 判断字符,小写,数字

    isdigit()
    True: Unicode数字,byte数字(单字节),全角数字(双字节)
    False: 汉字数字,罗马数字,小数
    Error: 无

    isdecimal()
    True: Unicode数字,,全角数字(双字节)
    False: 罗马数字,汉字数字,小数
    Error: byte数字(单字节)

    isnumeric()
    True: Unicode 数字,全角数字(双字节),汉字数字
    False: 小数,罗马数字
    Error: byte数字(单字节)

    
    num = "1"  #unicode
    num.isdigit()   # True
    num.isdecimal() # True
    num.isnumeric() # True
    
    num = "1" # 全角
    num.isdigit()   # True
    num.isdecimal() # True
    num.isnumeric() # True
    
    num = b"1" # byte
    num.isdigit()   # True
    num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
    num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
    
    num = "IV" # 罗马数字
    num.isdigit()   # False
    num.isdecimal() # False
    num.isnumeric() # False
    
    num = "四" # 汉字
    num.isdigit()   # False
    num.isdecimal() # False
    num.isnumeric() # True
    

    以上内容来源于菜鸟教程1

    python练习03

    判断题

    在这里插入图片描述

    如a是一个列表,且a[:]与a[::-1]相等,则a中元素按顺序排列构成一个回文。

    True a[:]表示正序切片,a[::-1]表示逆序切片,两者相等则a中元素按顺序构成回文

    表达式 {1, 3, 2} > {1, 2, 3} 的值为True。

    False 两集合元素相同,所以{1,2,3}=={1,3,2},原表达式的值为False

    已知x为非空列表,那么执行语句x[0] = 3之后,列表对象x的内存地址不变。

    True 修改列表某个元素不会更改整个列表的地址

    Python内置的集合set中元素顺序是按元素的哈希值进行存储的,并不是按先后顺序。

    True 集合元素是无序的,按hash存储

    已知x是一个列表,那么x = x[3:] + x[:3]可以实现把列表x中的所有元素循环左移3位。

    True x[3:]表示列表x从第4个元素到最后一个元素,x[:3]表示列表x从开始到第三个元素,两者进行拼接,效果是将列表x中所有元素循环左移3位

    编程题

    1. 图的字典表示。
    图的字典表示。输入多行字符串,每行表示一个顶点和该顶点相连的边及长度,输出顶点数,边数,边的总长度。比如上图0点表示:
    {'O':{'A':2,'B':5,'C':4}}
    
    输入格式:
    第一行表示输入的行数 下面每行输入表示一个顶点和该顶点相连的边及长度的字符串
    
    输出格式:
    在一行中输出顶点数,边数,边的总长度
    
    输入样例:
    在这里给出一组输入。例如:
    
        4
        {'a':{'b':10,'c':6}}
        {'b':{'c':2,'d':7}}
        {'c':{'d':10}}
        {'d':{}} 
    
    输相应的输出。例如:
    
        4 5 35
    
    

    解答:

    pointnum = int(input()) # 输入点的数量
    edgesum = 0 # 声明周长 
    edgenum = 0 # 声明边数for i in range(pointnum):
      dictlist=eval(input()) # 获取表示一个顶点和该顶点相连的边及长度的字典  
      for j in dictlist:
        dict=dictlist[j] # 获取边长字典
        for k in dict:
          edgenum += 1  # 边数计数
          edgesum += dict[k] #  边长求和
        break
    print(pointnum,edgenum,edgesum)
    
    1. jmu-python-逆序输出
    输入一行字符串,然后对其进行如下处理。
    
    输入格式:
    字符串中的元素以空格或者多个空格分隔。
    
    输出格式:
    逆序输出字符串中的所有元素。
    然后输出原列表。
    然后逆序输出原列表每个元素,中间以1个空格分隔。注意:最后一个元素后面不能有空格。
    
    输入样例:
    
        a b  c e   f  gh
    
    输出样例:
    
        ghfecba
        ['a', 'b', 'c', 'e', 'f', 'gh']
        gh f e c b a
    
    

    解答:

    str=input()
    list=[]
    for c in str.split():  #字符串切片
      list.append(c)	# 生成新的字符列表
    print("".join(list[::-1]))	# 将列表元素无间隔逆序输出
    print(list)					# 输出列表
    print(" ".join(list[::-1]))	# 将列表元素以空格为间隔逆序输出
    
    1. jmu-python-班级人员信息统计
    输入a,b班的名单,并进行如下统计。
    
    输入格式:
    第1行::a班名单,一串字符串,每个字符代表一个学生,无空格,可能有重复字符。
    第2行::b班名单,一串字符串,每个学生名称以1个或多个空格分隔,可能有重复学生。
    第3行::参加acm竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
    第4行:参加英语竞赛的学生,一串字符串,每个学生名称以1个或多个空格分隔。
    第5行:转学的人(只有1个人)。
    
    输出格式
    特别注意:输出人员名单的时候需调用sorted函数,如集合为x,则print(sorted(x))
    输出两个班级的所有人员数量
    输出两个班级中既没有参加ACM,也没有参加English的名单和数量
    输出所有参加竞赛的人员的名单和数量
    输出既参加了ACM,又参加了英语竞赛的所有人员及数量
    输出参加了ACM,未参加英语竞赛的所有人员名单
    输出参加英语竞赛,未参加ACM的所有人员名单
    输出参加只参加ACM或只参加英语竞赛的人员名单
    最后一行:一个同学要转学,首先需要判断该学生在哪个班级,然后更新该班级名单,并输出。如果没有在任何一班级,什么也不做。
    
    输入样例:
    
        abcdefghijab
        1   2 3 4 5 6 7 8 9  10
        1 2 3 a b c
        1 5 10 a d e f
        a
    
    输出样例:
    
        Total: 20
        Not in race: ['4', '6', '7', '8', '9', 'g', 'h', 'i', 'j'], num: 9
        All racers: ['1', '10', '2', '3', '5', 'a', 'b', 'c', 'd', 'e', 'f'], num: 11
        ACM + English: ['1', 'a'], num: 2
        Only ACM: ['2', '3', 'b', 'c']
        Only English: ['10', '5', 'd', 'e', 'f']
        ACM Or English: ['10', '2', '3', '5', 'b', 'c', 'd', 'e', 'f']
        ['b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
    
    

    解答:

    a = input()
    # a="abcdefghijab"
    seta = set(a)	# 由题意可知,要进行集合运算,则用集合表示每个群体
    # print(seta)
    b = input()
    # b="1   2 3 4 5 6 7 8 9  10"
    setb = set(b.split()) # 通过切片操作消除空格
    # print(setb)
    acm = input()
    # acm = "1 2 3 a b c"
    setacm = set(acm.split())
    # print(setacm)
    english = input()
    # english = "1 5 10 a d e f"
    setenglish = set(english.split())
    # print(setenglish)
    zhuanxue = input()
    # zhuanxue = "a"
    # setzhuanxue = set(zhuanxue) # 转学生作为独立集合
    # print(setzhuanxue)
    Total = seta.union(setb) # 两班所有学生---并集
    race = setacm.union(setenglish) #竞赛学生---并集
    Notinrace = Total.difference(race) #非竞赛学生---差集
    ACMplusEnglish = setacm.intersection(setenglish) # 报名两项竞赛学生---交集
    OnlyACM = setacm.difference(setenglish) # 仅报ACM学生---差集
    OnlyEnglish = setenglish.difference(setacm) # 仅报英语竞赛学生---差集
    ACMOrEnglish = setacm.symmetric_difference(setenglish) # 报名一项竞赛---对称差集
    print("Total:",len(seta.union(setb)))
    
    print("Not in race:",sorted(Notinrace),end=", ")
    print("num:",len(Notinrace))
    
    print("All racers:",sorted(race),end=", ")
    print("num:",len(race))
    
    print("ACM + English:",sorted(ACMplusEnglish),end=", ")
    print("num:",len(ACMplusEnglish))
    
    print("Only ACM:",sorted(OnlyACM))
    
    print("Only English:",sorted(OnlyEnglish))
    
    print("ACM Or English:",sorted(ACMOrEnglish))
    # 将转学学生当成集合,进行差集运算,考虑到只有一个转学生,故使用第二种方法
    # if zhuanxue in seta:
    #     seta.difference_update(setzhuanxue)
    #     print(sorted(seta))
    # elif zhuanxue in setb:
    #     setb.difference_update(setzhuanxue)
    #     print(sorted(setb))
    # 将转学学生当成集合元素,进行元素移除运算
    if zhuanxue in seta:
        seta.remove(zhuanxue)
        print(sorted(seta))
    elif zhuanxue in setb:
        setb.remove(zhuanxue)
        print(sorted(setb))
    
    

    笔记

    1. join()函数
      --语法:str.join(sequence)
      --功能:将序列中的元素以指定的字符连接生成一个新的字符串
      --参数说明
      ----str表示连接所用的字符,sequence表示需要连接的序列
    2. 集合函数
    seta.union(setb,setc....)		# 并集
    seta.difference(setb)			# 差集
    seta.intersection(setb,setc....)# 交集
    seta.symmetric_difference()		# 对称差集
    seta.remove(item)				# 移除指定元素
    

    Python练习04

    这次的判断题没什么难度,所以不进行整理

    编程题

    1. jmu-python-汇率兑换
    按照1美元=6人民币的汇率编写一个美元和人民币的双向兑换程序
    
    输入格式:
    输入人民币或美元的金额,人民币格式如:R100,美元格式如:$100
    
    输出格式:
    输出经过汇率计算的美元或人民币的金额,格式与输入一样,币种在前,金额在后,结果保留两位小数
    
    输入样例1:
    R60
    输出样例1:
    $10.00
    输入样例2:
    $5
    输出样例2:
    R30.00
    

    解答:

    money = input()
    if money.startswith('R',0,1):
        numofchange = int(money.lstrip('R'))/6
        print('$',"%.2f" % numofchange,sep='')
    elif money.startswith('$',0,1):
        numofchange = int(money.lstrip('$'))*6
        print('R',"%.2f" % numofchange,sep='')
    
    1. jmu-python-成绩转换
    本题要求编写程序将一个百分制成绩转换为五分制成绩。转换规则:
    
    大于等于90分为A; 小于90且大于等于80为B; 小于80且大于等于70为C; 小于70且大于等于60为D; 小于60为E。
    
    输入样例:
    98
    输出样例:
    A
    

    解答:

    score100 = int(input())
    if score100>=90:
      print('A')  
    elif 80<=score100<90:
      print('B')
    elif 70<=score100<80:
      print('C')
    elif 60<=score100<70:
      print('D')
    else:
      print('E')
    

    笔记

    1. 汇率转换主要包含的问题有
      –识别输入字符串的开头字符-----------使用str.startswith(str,beg,end)函数,返回值为bool类型
      –从字符串中提取数字并进行运算-----先去除开头字符str.lstrip(str),然后字符串转数字
      –输出的数字要带两位小数--------------”%.2f"%num,或者format(num,’.2f’)
    2. 成绩转换主要涉及多重分支的选择结构
      由于python里没有switch语句
      所以只有不断的if … elif …else

    1. 来源:http://www.runoob.com/python3/python3-string-isnumeric.html ↩︎

    展开全文
  • 今天就为大家分享几个神奇有效的Python学习网站! 如果有想学习python的程序员,可来我的python学习扣qun:711944363,免费送python的视频教程噢!我每晚上8点还会在群内直播讲解python知识,欢迎大家前来学习交流...
  • 学习Python必备的8本书

    2019-03-24 16:20:31
    在过去一年里,Python的热度一路飙升,国内越来越多的人选择学习Python,如今已然成为大量开发者推荐的入门编程语言和第二编程语言,而且Python还是人工智能的主要编程语言,因此,其重要性和流行度也就不言而喻了 ...
  • 今天花了些时间给大家精心整理一份 Python 学习资料。我觉得不错的资料我都整理进来了,如果你是学习python的,我觉得这一份资料对你应该有用。1.知乎上超过 10k 的python相关回答Yupeng:三天搞定PythonTheAnswer:...
  • 首先,我们先普及一下编程语言的基础知识。其实无论用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而...Python是什么? 简单来说,Python就是一种编程语言。由于Pytho...
  • Python学习笔记(一)

    2018-06-19 09:20:53
    个人学习笔记:# 引入copy模块 import copy # python数据类型:整型、浮点型、字符串、list、tuple、dict、set等 # 转义字符串'I\'m \"OK\"' = I'm "OK" # \n表示换行符,\t表示制表符tab,\ 这...
  • Python学习路线

    2020-02-19 17:29:05
    经历长达近一个月的资源筛选过程终于结束,总共1.5T的资源经过:去重、筛选、整理、归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成,猪哥也是第一时间与大家分享出来。...
  • 本文主要包括内容: 1.turtle库的介绍。 ...我学习Python主要跟着慕课上一个课程学习,感觉课程条理清楚,适合初学者学习,地址为: https://www.icourse163.org/learn/BIT-268001?tid=100278...
  • Python学习--工具介绍

    2018-04-16 22:22:39
    Python学习入门–工具介绍 工欲善其事,必先利其器 在上一篇文章里我们介绍了Python的环境搭建,这篇文章给大家介绍几个用于编写python的工具(Windows平台)。 IDLE 当我们安装完python后就会有这个编辑器,...
  • 教育部考试中心近日发布了“关于全国计算机等级(NCRE)体系调整”的通知,决定自2018年3月起,在全国计算机二级考试中加入了“Python语言程序设计”科目。 9个月前,浙江省信息技术课程改革方案已经出台,Python...
  • 最新Python学习路线+千锋Python课程大纲+Python视频教程+Python学习资料下载地址大合集 目前Python已经成为最受欢迎的程序设计语言之一。Python的设计哲学是“优雅”、“明确”、“简单”。 Python的优点(来自...
  • python学习心得(一)

    2019-03-15 09:36:23
    python学习心得人生苦短,我用python。看到python有那么多开放的库,短短几行代码就能搞定一个项目,有点面向对象的经验确实很容易学习。1、 语法基础2、 项目练习3、 项目过程中的一些心得4、 一些常用的包及模式化...
  • 2019最新Python学习路线(Python学习教程_Python学习视频):Python2和Python3你们都是怎么选的? 相信大家在初学 Python 编程的时候都会有这样一个疑虑,到底是选择 Python 2 还是选择 Python 3 呢?它俩有啥区别?...
  • Python学习资料篇

    2018-01-17 10:34:54
    Python学习资料网络上比较多,看到好的资源,不及时记录下来,下次就找不到了,我把知乎上好的回答收藏汇总到这里,以便自己随时查看,包括Python入门书籍,网站,项目,官方文档,下载资源等。 下面的内容是...
  • 2019最新Python学习教程_Python学习视频_Python学习路线:学Python,这次你可得认真看完了! 有多少伙伴是因为一句‘人生苦短,我用Python’ 去学Python的!前面跟大家有更新很多Python学习教程普及过多次的Python...
1 2 3 4 5 ... 20
收藏数 755,967
精华内容 302,386
热门标签
关键字:

python学习