for-in循环
用for-in计算1~100求和结果
1 | sum = 0 |
5050
※注意※:
1.”+=”的意思是两边相加,值赋予左边
2.用到了range
类型 ,range(101)
可以产生一个0到100的整数序列、range(1,100,2)
可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量
以此类推可以计算1~100的偶数求和
1 | sum = 0 |
2550
也可根据昨天学的if语句分支结构计算0~100的偶数求和
1 | sum = 0 |
2550
※注意※:if-in
循环用于计算知道循环执行次数或者要对一个容器进行迭代,如果不知道循环多少次,就要用到while
循环。
while循环
while
循环可以通过一个能够产生或转换出bool
值的表达式来控制循环,True
循环继续,False
循环结束
猜数字游戏
1 | import random |
请输入你猜的数字:50
大一点
请输入你猜的数字:60
大一点
请输入你猜的数字:80
小一点
请输入你猜的数字:76
小一点
请输入你猜的数字:72
小一点
请输入你猜的数字:65
大一点
请输入你猜的数字:69
小一点
请输入你猜的数字:67
大一点
请输入你猜的数字:68
恭喜你猜对了
你一共猜了9次
你咋猜的啊??????
※注意※:
1.注意python语法使用缩进来结束if或者while,while
循环结束要用break
来结束循环(要在嵌套结构里结束)
2.第二个if
结构不要再第一个if
结构里
循环结构嵌套输出九九乘法表
1 | for i in range(1, 10): |
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
(markdown语法真是够了,要加那么多转义反斜杠…)
**※注意※:
1.end=’’用法:例如print(“#”,end=” \n”),默认换行,print(“#”,end=” “)则在循环中不换行
2.python的转移符号:
\(在行尾时) 续行符
\\ 反斜杠符号
\‘ 单引号
\“ 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000 空
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出**
练习
输入一个正整数判断是不是素数
1 | from math import sqrt |
请输入一个正整数: 3
3是素数
**※注意※:
1.判断是否为素数:在一般领域,对正整数n,如果用2到sqrt(n)之间的所有整数去除,均无法整除,则n为质数
质数大于等于2 不能被它本身和1以外的数整除
疑问:for-in
前用 is_prime = True,for-in
里用is_prime = False 结束,最后判断的时候为什么用is_prime和num不等于1做条件?
猜想:for-in
里如果可以整除,is_prime为False,就是为0.然后在下面判断is_prime和num是否为1,来判断是否为素数**
输入两个正整数,计算最大公约数和最小公倍数
1 | x = int(input('x = ')) |
x = 28
y = 42
28和42的最大公约数是14
28和42的最小公倍数是84
**※注意※:
1.最大公约数计算:一个数可以整除另外两个数,那么这个数是另外两个数的最大公约数
2.(a,b)[a,b]=ab(a,b均为整数),(a,b)为最大公约数,[a,b]为最小公倍数
疑问:range(x, 0, -1)x到0之间取值,步数为-1是怎么取值的
解答:表示从x开始,到0为止(不包括0),取其中所有的整数 (为什么不用range(0,x,1)?**
打印三角形
1 | row = int(input('请输入行数: ')) |
请输入行数: 3
x
xx
xxx
x
xx
xxx
x
xxx
xxxxx
※注意※:
1.for _ in range()
的 _ 的意思是只要这次for循环结束之后,就不管了。咱要的只是循环这个过程
2.还需要多练,一开始看不懂,看了10分钟才明白