千锋教育python2104期总结

第四次总结: 循环练习和语法

目录

1.复习
2.认识列表
3.添加元素
4.第一周作业(零基础)
5.周末作业-循环练习题

正文

1. 复习

  1. for循环
    for 变量 in 序列:
    循环体(需要重复执行的代码)
    else:
    代码段
for x in range(10):if x % 2:print(x)
  1. range
    range(N) [0,N) 步长为1
    range(M,N) [M,N) 步长为1
    range(M,N,step) [M, N) 步长为step

3.while

while 条件语句:
循环体
else:
代码段

while True:需要重复的操作if 停止条件:break
  1. continue、break

  2. else

2. 认识列表

  1. 什么是列表(list)
    “”"
  1. 列表是容器型数据类型(序列);将[]作为容器的标志,里面多个元素用逗号隔开: [元素1, 元素2, 元素3,…]
  2. :列表是可变的(元素的个数、值和顺序可变) - 增、删、改;列表是有序的 - 支持下标操作
  3. 列表对元素 没有要求(不管什么类型的数据都可以作为列表的元素)
    “”"
    1)空列表
    len(列表) - 获取列表中元素的个数
list1 = []
print(type(list1))
print(bool(list1)
print(len(list1)

2)列表可以同时保存多个数据(数据类型不限,并且在列表的中括号内,可以任意换行,加缩进)

list5 = [10, 12.5, True, 'abc',
[1, 0], {'a': 10}, (20, 9), {20, 9}, lambda x: x*2]
print(list5)
  1. 查 - 获取元素
    #查分为三种情况:获取单个元素、切片、遍历(一个一个的取)
    1)获取单个元素
    “”"
    语法:列表[下标]
    功能:获取列表中指定下标对应的元素
    说明:
    列表 - 任何结果是列表的表达式,比如:保存列表的变量、具体的列表值等
    [] - 固定写法
    下标 - 下标又叫索引,是元素在有序序列中位置信息。
    #Python中有序序列中每个元素都有两组下标值,分别是:从前往后从0开始递增的下标值;从后往前从-1开始递减的下标值
    注意:下标不能越界
list1 = [89, 90, 76, 99, 58]
print(list1[3])   #99
print(list1[-1])  #58

2)遍历
“”"
方式1 - 直接获取列表中的每个元素
for 元素 in 列表:
循环体
方式2 - 先获取到每个元素的下标值,然后通过下标再获取元素
for 下标 in range(len(列表)):
循环体
for 下标 in range(-1, -len(列表)-1, -1):
循环体
#range(len(列表)) == range(列表中元素的个数)

方式3 - 同时获取列表中每个元素和元素对应的下标
for 下标, 元素 in enumerate(列表):
循环体
“”"

names = [1,2,3,4,5,6,7,8]
for x in names:print(x)for i in range(len(names)):print(i, names[i])for ind, item in enumerate(names):print(ind, item)

3. 添加元素

  1. 增 - 添加元素
  1. 添加单个元素
    “”"
    列表.append(元素) - 在列表的最后添加一个元素
    列表.insert(下标, 元素) - 在指定下标对应的元素前插入指定元素
    “”"
zimu = ['a','b','c','d']
print(zimu)       # ['a','b','c','d']zimu.append('e')
print(zimu)       # ['a','b','c','d','e']zimu.insert(2, '瓜皮')
print(zimu)       # ['a','b','瓜皮','c','d','e']

2)批量添加
#列表1.extend(列表2) - 将列表2元素全部添加到列表1的后面

zimu = ['a','b','c','d']
zimu.extend([1,2,3])
print(zimu)       # zimu = ['a','b','c','d',1,2,3]

#练习:将scores中所有的及格的分数提取出来

scores = [89, 67, 56, 90, 98, 30, 78, 51, 99]
scores2 = []
for x in scores:if x >= 60:scores2.append(x)
print(scores2)

4. 第一周作业(零基础)

###一.选择题

  1. 下列变量名中不合法的是?(c)

    A. abc

    B. Npc

    C. 1name

    D ab_cd

  2. 下列选项中不属于关键字的是?(c)

    A. and

    B. print

    C. True

    D. in

  3. 下面哪个选项对应的代码写法是正确的?(c)

    A.

    print('Python')print('新手村')
    

    B.

    print('Python') print('新手村')
    

    C.

    print('Python')
    print('新手村')
    

    D.

    print('Python''新手村')
    
  4. 下面选项中能打印出50的是(a)?

    A.

    print('100 - 50')
    

    B.

    print(100 - 50)
    
  5. 关于引号,下面选项中使用正确的是?(d)

    A.

    print('hello)
    

    B.

    print("hello')
    

    C.

    print(“hello”)
    

    D.

    print("hello")
    

###二、编程题

  1. 写代码在控制台打印 good good study, day day up!
    print('good good study, day day up!')
  2. 写代码在控制台打印5次 you see see, one day day!
for x in range(5):print('you see see, one day day!')
  1. 写代码打印数字 11、12、13、… 21
for x in range(11,22):print(x)
  1. 写代码打印数字 11,13,15,17,…99
for x in range(11,100,2):print(x)
  1. 写代码打印数字:10、9、8、7、6、5
for x in range(10,4,-1):print(x)
  1. 写代码计算:1+2+3+4+…+20 的和
a=0
for x in range(1,21):a+=x
print(a)
  1. 写代码计算100以内所有偶数的和
a=0
for x in range(2,101,2):a+=x
print(a)
  1. 写代码统计100~200中个位数是3的数的个数
a=0
for x in range(103,200,10):a+=1
print(a)
  1. 写代码计算2*3*4*5*...*9的结果
a=1
for x in range(2,10):a*=x
print(a)
  1. 输入一个数,如果输入的数是偶数就打印偶数否则打印奇数
x=int(input('请输入一个数:'))
if x%2==0:print('偶数')
else:print('奇数')
  1. 统计1000以内能被3整除但是不能被5整除的数的个数。
a=0
for x in range(3,1000,3):if x%5!=0:a+=1
print(a)

5.周末作业-循环练习题

  1. 判断101-200之间有多少个素数,并输出所有素数。
b=0
for x in range(101,201):for a in range(2,x):if x%a==0:breakelse:b+=1print(x,'是质数')
print('总共有',b,'个质数')
  1. 求整数1~100的累加值,但要求跳过所有个位为3的数。
a=0
for b in range(1,101):if b%10!=3:a+=b
print(a)
  1. 有⼀分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数
n=20
fz1,fz2=2,3
fm1,fm2=1,2
for x in range(n-2):fz1,fz2=fz2,fz2+fz1fm1,fm2=fm2,fm1+fm2
print(fz2,'/',fm2)
  1. 写程序计算 n 的阶乘 n! 的结果
x=1
n=int(input('请输入需要计算阶乘的数:'))
for n in range(1,n+1):x*=n
print('答案为:',x)
  1. 求1+2!+3!+…+20!的和
x=1
y=0
for n in range(1,21):x*=ny+=x
print('答案为:',y)
  1. 写程序求表达式 a + aa + aaa + aaaa+ … 的结果,其中a是1~9的数字,求和的项数用n来控制。(a和n可以用变量来表示)

    例如:a为3, n为5的时候: 3 + 33 + 333 + 3333 + 33333

a=int(input('请输入a:'))
n=int(input('请输入n:'))
d=a
e=0
for n in range(1,n):b=a*(10**n)+dd=be+=b
print(e+a)
  1. 控制台输出三角形

    a.根据n的值的不同,输出相应的形状
    n = 5时             n = 4
    *****               ****
    ****                ***
    ***                 **
    **                  *
    *
    
n=int(input('请输入n:'))
for a in range(n,0,-1):print(a*'*')

b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5 n = 7
* *
*** ***


                *******
n=int(input('请输入n:'))
b=n
for a in range(1,n+1,2):b-=1print(b*' ',a*'*')

c. 根据n的值的不同,输出相应的形状

n = 4112112321
1234321n = 51121123211234321
123454321
n=int(input('请输入:'))
q=0
e=n
for chenshu in range(1,n+1):# 1打印空格print(e * ' ', end='')e -= 1# 2打印数字w=chenshufor shuzi in range(0,chenshu*2-1):if q<chenshu:q+=1print(q,end='')if q>=chenshu:w-=1if w==0:continueprint(w,end='')q=0print('')
  1. 小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元正好花掉,可有哪些购买结合?
for xifashui in range(7):for xianzhao in range(51):for yashua in range(21):if xifashui*15+xianzhao*2+yashua*5==100:print('洗发水:',xifashui,'香皂:',xianzhao,'牙刷:',yashua)
  1. 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
hou=0.08/1000
x=0
while True:x+=1zhonhou=hou*2**xif zhonhou>=8848.13:print(x)break
  1. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
n=int(input('请输入'))
f1,f2=2,2
he1,he2,he3=4,0,0
for x in range(n-2):f1,f2=f2,f2+f1he2+=f2he3=he1+he2
print(he3)
  1. 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
n = int(input('请输入:'))
print(n, '=', end='', sep='')
for x in range(2, n + 1):for y in range(2, x):if x % y == 0:breakelse:while n % x == 0:if n != x:print(x, end='x')else:print(x)n //= x
  1. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
q=1256
for w in range(1,5):e=q%(10**w)//(10**(w-1))e=(e+5)%10print(e,end='')
  1. 本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
q=10000
for w in range(1,6):q=q*3/1000+q
print(q)
  1. 输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
q=1256
r=1
while r>0:r+=1if 0<q//10**(r-1)<10:break
w=0
for r in range(1,5):e=q%(10**r)//(10**(r-1))w+=e
print(w)
  1. 求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
m = 5
n = 15
if m < n:m, n = n, m
i = 1
while m * i % n != 0:i += 1
print(m, '和', n, '的最小公倍数是:', m, 'x', i, '=', m * i, sep='')
for x in range(m >> 1, m - 1):if m % (m - x) == 0:if n % (m - x) == 0:print(m, '和', n, '的最大公约数是:', m - x, sep='')# 找到即停止break
else:print(m, '和', n, '不存在公约数', sep='')

千锋教育python2104期总结day5相关推荐

  1. 千锋教育python2104期总结day2

    千锋教育python2104期总结day2 第一次总结: 基础语法和变量 目录 更改基础设置, 写出第一句代码 基础语法 输入和输出函数 变量 正文 1. 更改基础设置,写出第一句代码 1)设置pyc ...

  2. 千锋教育python2104期总结day14

    千锋教育python2104期总结 第十三次总结: 常用系统模块和文件操作 目录 time模块 datetime模块 hashlib模块 文件操作 读写操作 数据存储操作 作业 正文 1.time模块 ...

  3. 千锋教育python2104期总结day15

    千锋教育python2104期总结 第十四次总结: json和异常 目录 文件操作补充 json数据 异常模块 作业 正文 1.文件操作补充 打开不存在的文件 """ 如 ...

  4. 千锋教育python2104期总结day11

    千锋教育python2104期总结 第十次总结: 函数基础 目录 定义函数 调用函数 函数的参数 函数的返回值 作业 正文 1.定义函数 认识函数 1)什么是函数:函数就是实现某一特定功能的代码的封装 ...

  5. 千锋教育python2104期总结day20

    千锋教育python2104期总结 第十九次总结: 自动化办公2 目录 excel文件的读操作 excel文件的写操作 csv文件操作 pdf文件操作 添加水印 创建水印文件 正文 1.excel文件 ...

  6. 千锋教育python2104期总结day13

    千锋教育python2104期总结 第十二次总结:迭代器生成器和模块 目录 迭代器 生成器 模块 包的使用 正文 1.迭代器 什么是迭代器(iter) 迭代器是容器型数据类型,可以同时保存多个数据:可 ...

  7. 千锋教育python2104期总结day4

    千锋教育python2104期总结day4 第三次总结: 循环 目录 1.for循环 2.while 3.循环关键字 4.作业 正文 1. for循环 循环 - 让代码重复执行(代码写一遍,运行执行多 ...

  8. 千锋教育python2104期总结day17

    千锋教育python2104期总结 第十六次总结: 面向对象编程基础 目录 编程思想 类和对象 对象方法 init方法 属性 方法 作业 正文 1.编程思想 编程思想:面向过程编程(穷人思想).函数式 ...

  9. 千锋教育python2104期总结day6

    千锋教育python2104期总结 第一次总结: 基础语法和变量 目录 复习 列表切片 删和改 列表相关操作 相关函数和方法 作业 正文 1. 复习 1.列表(list) 容器:[元素1, 元素2, ...

最新文章

  1. 三调 图斑地类面积_国土三调攻坚冲刺,大疆无人机为调查举证提供加速度
  2. win 7 系统激活工具
  3. 启发式算法简谈(一)
  4. ZOJ1654(二分构图题典例)
  5. 不宜过分炒作第三代半导体材料弯道超车
  6. 坚实原则:Liskov替代原则
  7. 自顶向下和自底向上测试的优缺点
  8. 家卫士扫地机器人好吗_2020年扫地机器人推荐选购指南(扫地机器人实用吗?国内扫地机器人哪个牌子好?)...
  9. Screen命令让Linux shell在后台运行
  10. -mmin find shell 报错_[shell]find用法小结
  11. Android USB AUDIO初步分析
  12. 如何根据公司名称来筛选快递
  13. Linux中文件的压缩和解压缩
  14. 随机点名器(java基础)
  15. css--animate
  16. AppsFlyer 研究(十四)创建 Facebook App 获取FaceBook App ID
  17. Aigtek线束测试仪,ATX-3000台式线束测试仪
  18. 全球最好听的100首英文歌(前50首)
  19. show profiles 查看sql语句执行状态
  20. 智工教育:2023年国家公务员报考必知事项!

热门文章

  1. 《SolidWorks 2012中文版从入门到精通》一6.2 查询
  2. 白嫖免费域名+免费服务器
  3. matlab 求集中度,matlab代写使用Copula仿真优化市场风险数据VaR分析
  4. 支付宝支付沙箱 支付存在钓鱼风险解决方法
  5. 出现“qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ‘ ’even though it was found
  6. Java判断一个数是否是2的n次幂
  7. Numpy学习(1)-Numpy的优势
  8. python怎么退出执行/退出程序语句
  9. 毕业设计 单片机stm32智能大棚监控护理系统 - lora 远程通信
  10. win11家庭版没有微软自带的虚拟机Hyper-V的解决方案