目录

  • 单元1  初识Python
    • ● 任务 1.1  计算机程序设计语言概述
    • ● 任务 1.2 Python语言
    • ● 任务1.3 Python开发环境搭建
    • ● 任务 1.4 Python的简单使用
    • ● 知识拓展
    • ● 思考与练习
  • 单元2   Python基础知识
    • ● 任务2.1 Python程序基本结构
    • ● 任务2.2  标准输入输出
    • ● 任务2.3  Python对象
    • ● 任务2.4 Python变量
    • ● 任务2.5  数据类型
    • ● 任务2.6 字符串
    • ● 任务2.7 运算符
    • ● 知识拓展
    • ● 思考与练习
  • 单元3   程序流程控制
    • ● 任务3.1  顺序结构
    • ● 任务3.2 选择结构
    • ● 任务3.3  循环结构
    • ● 知识拓展
    • ● 思考与练习
  • 单元4  Python序列
    • ● 任务4.1  序列
    • ● 任务4.2 列表
    • ● 任务4.3  用于序列操作的常用内置函数
    • ● 任务4.4   元组
    • ● 任务4.5  字典
    • ● 任务4.6  集合
    • ● 知识拓展
    • ● 思考与练习
  • 单元5  函数
    • ● 任务5.1 函数的定义与调用
    • ● 任务5.2 函数的参数
    • ● 任务5.3   参数类型
    • ● 任务5.4  变量作用域
    • ● 任务5.5   嵌套调用与递归调用
    • ● 任务5.6  lambda表达式
    • ● 任务5.7  模块
    • ● 知识拓展
    • ● 思考与练习
  • 单元6  异常处理
    • ● 任务6.1 异常处理的基本概念
    • ● 任务6.2 Python的异常处理语句
    • ● 任务6.3  自定义异常
    • ● 知识扩展
    • ● 思考与练习
  • 单元7  文件操作
    • ● 任务7.1  文件的分类
    • ● 任务7.2  文件对象
    • ● 任务7.3  文本文件
    • ● 任务7.4  二进制文件
    • ● 知识拓展
    • ● 思考与练习
  • 单元8  面向对象程序设计
    • ● 任务8.1 面向对象技术的基本概念
    • ● 任务8.2 类与对象
    • ● 任务8.3 类的继承
    • ● 任务8.4 方法重写
    • ● 知识扩展
    • ● 思考与练习
  • 单元9  网络编程基础
    • ● 任务9.1  Socket概述
    • ● 任务9.2   Socket对象内建方法
    • ● 任务9.3  Socket编程实例
    • ● 任务9.4    PythonInternet模块
    • ● 知识扩展
    • ● 思考与练习
  • 单元10    Python标准库及第三方库
    • ● 任务10.1 Python标准库
    • ● 任务10.2 Python第三方库的下载及安装
    • ● 任务10.3  Python第三方库举例
    • ● 知识扩展
    • ● 思考与练习
  • 任务11 用户图形界面(GUI)
    • ● 任务11.1 图形用户界面概述
    • ● 任务11.2 窗体容器和组件
    • ● 任务11.3 界面布局管理
    • ● 任务11.4 文本框组件
    • ● 任务11.5 其他组件
    • ● 任务11.6菜单与对话框
    • ● 任务11.7 鼠标键盘事件
    • ● 知识扩展
    • ● 思考与练习
  • 任务12   Python操作数据库
    • ● 数据库基础
    • ● 结构化查询语言SQL
    • ● Python操作数据库核心API
    • ● Python操作数据库案例
    • ● sqlite3 实训练习案例
    • ● pymysql 数据库实训案例
    • ● 小结  思考与练习
  • 习题解析(线上作业等参考解答)
    • ● 第一单元 初识Python  作业
    • ● 第二单元  Python基础(作业)
    • ● 第三单元  程序流程控制 作业(1)
    • ● 第三单元  程序流程控制  作业(2)
    • ● 第四单元  Python序列   作业
    • ● 第五单元   函数   作业
    • ● 单元六  异常处理  作业
    • ● 单元七、八  文件操作,GUI,面向对象
    • ● 单元九   网络编程基础
    • ● 线上习题解析
    • ● 编程训练
  • 应用题解(综合编程技术)
    • ● 《食品识别小专家》
    • ● 格式输出
    • ● 习题选解
    • ● 每日一帖
    • ● 模拟基本信息
    • ● 模拟基本数据
    • ● 数制转换
    • ● 定制每日运动计划
    • ● 《简易购物系统》
  • 课程章节测验
    • ● 第1次章节测验
  • 复习
    • ● Python基础知识总结
  • 第三方库TOOLS(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
编程训练

1、求1020之间所有3倍数的和。

解1:

s=0

 for k in range(10,20):

    if k%3==0: s=s+k

print("10到20之间所有3的倍数和是:",s)

解2:

s=0

for k in range(12,20,3):

    s=s+k

print("sum=",s)

解3:print('10到20之间所有3的倍数和是:',sum(range(12,20,3)))


2、100200之间所有的素数和。

解1:

print('100到200之间所有素数和是:', sum([m for m in range(100,200) if 0 not in [m % i for i in range(2,m) ]]))


3、已知一个列表score中存放了若干学生的成绩,如score = [80,90,78,67,69,54,34,98,87,92],统计成绩在60以下的人数。

解1:

score = [80,90,78,67,69,54,34,98,87,92]

t=0 

for  s in score:

     if s < 60:t=t+1

print('成绩在60分以下的人数是',t)

解2:

score = [80,90,78,67,69,54,34,98,87,92]

result = len([s for s in score if s < 60])

print('成绩在60分以下的人数是',result)


4、已知字符串weather存放了若干逗号分隔的天气,如weather=’sunny,rainny,windy,sunny,rainny,windy,sunny,windy,windy,sunny,sunny,windy’,统计每种天气出现的次数。

解1:

weather='sunny,rainny,windy,sunny,rainny,windy,sunny,windy,windy,sunny,sunny,windy'

wlist = weather.split(',')   #转化为列表

result = {w:wlist.count(w) for w in wlist}

print('天气\t次数')

for r in result:

    print('{}\t{}'.format(r,result[r]))


5设有一个英文文本文件text.txt,读取其内容,把其中的大写字母变成小写字母,小写字母变成大写字母写到文件result.txt

with open('text.txt','r') as fp1,open('result.txt','w') as fp2:

    fp2.write(fp1.read().swapcase())   



6、1100之间所有5倍数的和。

print('1到100之间所有5的倍数和是:',sum(range(0,100,5)))


7、1020之间所有的素数和。

print('10到20之间所有素数和是:', sum([m for m in range(10,20) if 0 not in [m % i for i in range(2,m) ]]))

8、求从1-3中任选2个数组成的所有2位数。

num = [1,2,3]

print([x*10+y for x in num for y in num if x!=y])

9、从键盘输入一个字符串,统计该字符串中各字母出现的次数。

str1 = input('enter a string:')

result = {ch:str1.count(ch) for ch in str1 if ch.isalpha()}

print(result)

 10编写一个判断一个数是否是水仙花数的函数,然后利用该函数求所有水仙花数。(水仙花数是个三位数,其每位上数字的立方和等于这个数。如153=1*1*1+5*5*5+3*3*3153是水仙花数)

def daffodil(n):

    i = n // 100   #百位数

    j = n // 10 % 10  #十位数

    k = n % 10        #个位数

    return n == i**3 + j**3 + k**3

total = [n for n in range(100,1000) if daffodil(n)]

print('所有水仙花数是:',total)  


11、利用自定义函数求1+2+3+…+n!

def sumfac(n):

    s,f = 0,1

    for i in range(1,n+1):

        f *= i

        s += f

    return s

     

n = int(input('enter n:'))        

print('1!+2!+...+{}!={}'.format(n,sumfac(n)))          


12、1100之间所有偶数的和。

print('1到100之间所有偶数的和是',sum(range(2,101,2)))


13、求200以内能被13整除的最大整数。

for i in range(200,1,-1):

    if i % 13 == 0:

        print('200以内能被13整除的最大正整数是:',i)

        break

 14已知一个列表score中存放了若干学生的成绩,如score = [80,90,78,67,69,54,34,98,87,92],统计成绩在70-80之间的人数。

score = [80,90,78,67,69,54,34,98,87,92]

result = len([s for s in score if 70 <= s <= 80])

print('成绩在70-80之间的人数是',result)

 

15、已知字符串words存放了若干空格分隔的单词,如words=’hello python hello world hello china good china’,统计每个单词出现的次数。

words='hello python hello world hello china good china'

wlist = words.split()

result = {w:wlist.count(w) for w in wlist}

print('单词\t次数')

for r in result:

    print('{}\t{}'.format(r,result[r]))

 

16设有一个文本文件data.txt,存放了若干以逗号分隔的整数,求所有整数的平均值,结果写到文件result.txt

ith open('data.txt','r') as fp:

    data = fp.read().strip('\n').split(',')

data = list(map(int,data))

avg = sum(data)/len(data)

with open('result.txt','w') as fp:

    fp.write(str(avg))                                 


17从键盘输入一个字符串,判断该字符串是否是回文字符串。谓回文字符串是指正向和逆向都相同的字符串,’abcdcba’

 str1 = input('enter a string:')

if str1==str1[::-1]:

    print('%s是回文字符串'%str1)

else:

    print('%s不是回文字符串'%str1)