千锋教育python2104期总结day5
千锋教育python2104期总结
第四次总结: 循环练习和语法
目录
1.复习
2.认识列表
3.添加元素
4.第一周作业(零基础)
5.周末作业-循环练习题
正文
1. 复习
- for循环
for 变量 in 序列:
循环体(需要重复执行的代码)
else:
代码段
for x in range(10):if x % 2:print(x)
- 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
continue、break
else
2. 认识列表
- 什么是列表(list)
“”"
- 列表是容器型数据类型(序列);将[]作为容器的标志,里面多个元素用逗号隔开: [元素1, 元素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)获取单个元素
“”"
语法:列表[下标]
功能:获取列表中指定下标对应的元素
说明:
列表 - 任何结果是列表的表达式,比如:保存列表的变量、具体的列表值等
[] - 固定写法
下标 - 下标又叫索引,是元素在有序序列中位置信息。
#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. 添加元素
- 增 - 添加元素
- 添加单个元素
“”"
列表.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. 第一周作业(零基础)
###一.选择题
下列变量名中不合法的是?(c)
A. abc
B. Npc
C. 1name
D ab_cd
下列选项中不属于关键字的是?(c)
A. and
B. print
C. True
D. in
下面哪个选项对应的代码写法是正确的?(c)
A.
print('Python')print('新手村')
B.
print('Python') print('新手村')
C.
print('Python') print('新手村')
D.
print('Python''新手村')
下面选项中能打印出50的是(a)?
A.
print('100 - 50')
B.
print(100 - 50)
关于引号,下面选项中使用正确的是?(d)
A.
print('hello)
B.
print("hello')
C.
print(“hello”)
D.
print("hello")
###二、编程题
- 写代码在控制台打印
good good study, day day up!
print('good good study, day day up!')
- 写代码在控制台打印5次
you see see, one day day!
for x in range(5):print('you see see, one day day!')
- 写代码打印数字 11、12、13、… 21
for x in range(11,22):print(x)
- 写代码打印数字 11,13,15,17,…99
for x in range(11,100,2):print(x)
- 写代码打印数字:10、9、8、7、6、5
for x in range(10,4,-1):print(x)
- 写代码计算:1+2+3+4+…+20 的和
a=0
for x in range(1,21):a+=x
print(a)
- 写代码计算100以内所有偶数的和
a=0
for x in range(2,101,2):a+=x
print(a)
- 写代码统计100~200中个位数是3的数的个数
a=0
for x in range(103,200,10):a+=1
print(a)
- 写代码计算
2*3*4*5*...*9
的结果
a=1
for x in range(2,10):a*=x
print(a)
- 输入一个数,如果输入的数是偶数就打印
偶数
否则打印奇数
x=int(input('请输入一个数:'))
if x%2==0:print('偶数')
else:print('奇数')
- 统计1000以内能被3整除但是不能被5整除的数的个数。
a=0
for x in range(3,1000,3):if x%5!=0:a+=1
print(a)
5.周末作业-循环练习题
- 判断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~100的累加值,但要求跳过所有个位为3的数。
a=0
for b in range(1,101):if b%10!=3:a+=b
print(a)
- 有⼀分数序列: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)
- 写程序计算 n 的阶乘 n! 的结果
x=1
n=int(input('请输入需要计算阶乘的数:'))
for n in range(1,n+1):x*=n
print('答案为:',x)
- 求1+2!+3!+…+20!的和
x=1
y=0
for n in range(1,21):x*=ny+=x
print('答案为:',y)
写程序求表达式 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)
控制台输出三角形
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('')
- 小明单位发了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)
- 一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?
hou=0.08/1000
x=0
while True:x+=1zhonhou=hou*2**xif zhonhou>=8848.13:print(x)break
- 古典问题:有一对兔子,从出生后第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)
- 将一个正整数分解质因数。例如:输入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
- 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
q=1256
for w in range(1,5):e=q%(10**w)//(10**(w-1))e=(e+5)%10print(e,end='')
- 本金10000元存入银行,年利率是千分之三。每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少。
q=10000
for w in range(1,6):q=q*3/1000+q
print(q)
- 输入一个整数,计算它各位上数字的和。(注意:输入的整数可以是任意位)
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)
- 求两个数的最大公约数和最小公倍数。(提示:公约数一定小于等于两数中的小的那个数,且能同时被两个数整除;公倍数一定大于等于两数中的大数,且是大数的倍数又能被两数中的小数整除)
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相关推荐
- 千锋教育python2104期总结day2
千锋教育python2104期总结day2 第一次总结: 基础语法和变量 目录 更改基础设置, 写出第一句代码 基础语法 输入和输出函数 变量 正文 1. 更改基础设置,写出第一句代码 1)设置pyc ...
- 千锋教育python2104期总结day14
千锋教育python2104期总结 第十三次总结: 常用系统模块和文件操作 目录 time模块 datetime模块 hashlib模块 文件操作 读写操作 数据存储操作 作业 正文 1.time模块 ...
- 千锋教育python2104期总结day15
千锋教育python2104期总结 第十四次总结: json和异常 目录 文件操作补充 json数据 异常模块 作业 正文 1.文件操作补充 打开不存在的文件 """ 如 ...
- 千锋教育python2104期总结day11
千锋教育python2104期总结 第十次总结: 函数基础 目录 定义函数 调用函数 函数的参数 函数的返回值 作业 正文 1.定义函数 认识函数 1)什么是函数:函数就是实现某一特定功能的代码的封装 ...
- 千锋教育python2104期总结day20
千锋教育python2104期总结 第十九次总结: 自动化办公2 目录 excel文件的读操作 excel文件的写操作 csv文件操作 pdf文件操作 添加水印 创建水印文件 正文 1.excel文件 ...
- 千锋教育python2104期总结day13
千锋教育python2104期总结 第十二次总结:迭代器生成器和模块 目录 迭代器 生成器 模块 包的使用 正文 1.迭代器 什么是迭代器(iter) 迭代器是容器型数据类型,可以同时保存多个数据:可 ...
- 千锋教育python2104期总结day4
千锋教育python2104期总结day4 第三次总结: 循环 目录 1.for循环 2.while 3.循环关键字 4.作业 正文 1. for循环 循环 - 让代码重复执行(代码写一遍,运行执行多 ...
- 千锋教育python2104期总结day17
千锋教育python2104期总结 第十六次总结: 面向对象编程基础 目录 编程思想 类和对象 对象方法 init方法 属性 方法 作业 正文 1.编程思想 编程思想:面向过程编程(穷人思想).函数式 ...
- 千锋教育python2104期总结day6
千锋教育python2104期总结 第一次总结: 基础语法和变量 目录 复习 列表切片 删和改 列表相关操作 相关函数和方法 作业 正文 1. 复习 1.列表(list) 容器:[元素1, 元素2, ...
最新文章
- 三调 图斑地类面积_国土三调攻坚冲刺,大疆无人机为调查举证提供加速度
- win 7 系统激活工具
- 启发式算法简谈(一)
- ZOJ1654(二分构图题典例)
- 不宜过分炒作第三代半导体材料弯道超车
- 坚实原则:Liskov替代原则
- 自顶向下和自底向上测试的优缺点
- 家卫士扫地机器人好吗_2020年扫地机器人推荐选购指南(扫地机器人实用吗?国内扫地机器人哪个牌子好?)...
- Screen命令让Linux shell在后台运行
- -mmin find shell 报错_[shell]find用法小结
- Android USB AUDIO初步分析
- 如何根据公司名称来筛选快递
- Linux中文件的压缩和解压缩
- 随机点名器(java基础)
- css--animate
- AppsFlyer 研究(十四)创建 Facebook App 获取FaceBook App ID
- Aigtek线束测试仪,ATX-3000台式线束测试仪
- 全球最好听的100首英文歌(前50首)
- show profiles 查看sql语句执行状态
- 智工教育:2023年国家公务员报考必知事项!
热门文章
- 《SolidWorks 2012中文版从入门到精通》一6.2 查询
- 白嫖免费域名+免费服务器
- matlab 求集中度,matlab代写使用Copula仿真优化市场风险数据VaR分析
- 支付宝支付沙箱 支付存在钓鱼风险解决方法
- 出现“qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ‘ ’even though it was found
- Java判断一个数是否是2的n次幂
- Numpy学习(1)-Numpy的优势
- python怎么退出执行/退出程序语句
- 毕业设计 单片机stm32智能大棚监控护理系统 - lora 远程通信
- win11家庭版没有微软自带的虚拟机Hyper-V的解决方案