Python002~003

这两天学的是赋值运算符、比较运算符、逻辑运算符、移位运算符
以及选择语句循环语句

赋值运算符

主要针对的是变量

+=,-=,*=,/=,//=,**=,%=归结为?=
左边必须是变量,右边随意

a ?= 1
a = a ? 1

>>> a = 1
>>> a += 1
>>> a
2
>>> a -= 1
>>> a
1
>>> a *= 10
>>> a
10
>>> a /= 2
>>> a
5.0
>>> 10 /= 2
  File "<stdin>", line 1
SyntaxError: cannot assign to literal
>>> a = 1
>>> b = 2
>>> a += b
>>> a
3
# 左边必须是变量 右边变量或者常量都行

比较运算符

运算的结果只能是布尔类型

>大于,<小于,>=大于等于,<=小于等于,==等于,!=不等于

注意:==永远比的是对象数据的值

>>> 3 > 2
True
>>> 1 < 2
True
>>> 1 != 2
True
>>> 2 == 2
True

以上的代码都称之为是布尔表达式

逻辑运算符

运算的结果只能是布尔类型

and逻辑与,or逻辑或,not 逻辑非

and和or双目运算符(左右两边必须都有数据),not 单目运算符,参与的数据必须是布尔类型

>>> 3 and 2
2
>>> 3 > 2 and 2 > 1
True
>>> 3 > 2 or 1 > 2
True
>>> not 3 > 2
False
>>> not False
True
>>> not True
False

移位运算符

&位与,|位或<<左移>>右移^异或
位与全一为1,位或有一是1
左移右移是逻辑还是算数运算得看是符号数还是无符号数,具体用法到用的时候再看,用的不多

>>> 12 & 7
4
"""
1100
0111 &
0100
"""
>>> 12 | 7
15
"""
1100
0111 |
1111
"""
>>> 2 << 4
32
"""
    0010
00100000
2 * 2^4
"""
>>> 3 << 3
24 # 3 * 2^3
>>> 16 >> 2
4
"""
10000
00100
16 / 2^2
"""
>>> 10 ^ 7
13
"""
1010
0111 ^
1101
"""

1.4 选择语句

回顾一下,我们之前写的这些代码运行流程基本都是从上到下依句执行-顺序语句

任何代码宏观来看都是顺序语句执行

选择语句就是在某些条件满足的情况下执行部分1 不满足执行部分2

# C C++ Java
if (布尔表达式) {
    部分1的代码
} else {
    部分2的代码
}
# Python
#############################
A...
if 布尔表达式 :
	B...
else :
	C...
D...
True: A-B-D
False: A-C-D
#############################
A...
if 布尔表达式 :
   	B...
D...

True: A-B-D
False: A-D
#############################
A...
if 布尔表达式1 :
    B...
elif 布尔表达式2 :
    C...
elif 布尔表达式3 :
    D...
else :
    E...
F...
1T : A - B - F
1F 2T :A - C - F
1F 2F 3T : A - D - F
1F 2F 3F : A - E - F

不同于C\C++\JAVA,python 中是用table键的缩进来表示从属关系的,而不是大括号。

1.5 循环语句

循环主要解决重复性代码问题

分为两大类:

  • 已知次数:向前走10步
  • 已知条件:向前走直到碰到墙为止

循环四要素:

  • 循环的初始化
  • 循环的继续条件
  • 循环的循环体
  • 循环的步长-周期-间距

for循环

在Python当中,它对for循环进行改版,主要用在已知循环次数的情况下

for循环后面针对的是一个已知的序列

# Python
for i in range(1,11): # [1,11)
	print(i)
// C/Java
for (int i = 1; i <= 10; i++) {
	print(i);
}

range(start,end,step)

for i in range(1,11,1):
    print("*")# 每个都换行了
for i in range(1,11,1):
    print("*",end="")   #排成一排
    print()#默认换行2*
    **
    ***
    ****
    *****
    ******
 for line in range (0,6):
    for i in range (0,line+1):
        print("*",end="")
    print()3******
    *****
    ****
    ***
    **
    *
  for i in range (7,0,-1):
    for j in range (i-1,0,-1):
        print ("*",end="")
    print()
  """
(4)
             i         j
*            1         1
**           2         1  2
***          3         1  2  3
****         4         1  2  3  4
*****        5         1  2  3  4  5
******       6         1  2  3  4  5  6
*****        7         1  2  3  4  5
****         8         1  2  3  4  
***          9         1  2  3
**           10        1  2 
*            11        1  
j <= i     i + j <= 12
"""
for i in range (1,12):
    for j in range (1,i+1):
        if j <= i and j +i <= 12:#假设每行按i打印,在加限制条件
            print("*",end="")
    print()5"""  
               k    i   j
     *         -5    1   1
    **         -4    2   1 2
   ***         -3    3   1 2 3
  ****         -2    4   1 2 3 4
 *****         -1    5   1 2 3 4 5
******          0    6   1 2 3 4 5 6
 *****          1    7   1 2 3 4 5
  ****          2    8   1 2 3 4
   ***          3    9   1 2 3
    **          4    10  1 2 
     *          5    11  1
"""
print("=" * 10)
for i in range(1, 12):
    for k in range(0, abs(i - 6)):
        print(" ", end="")
    for j in range(1, i + 1):
        if j <= i and i + j <= 12:
            print("*", end="")
    print()
"""
(4)
                    k    i   j
     *              -5    1   1
    * *             -4    2   1 2
   * * *            -3    3   1 2 3
  * * * *           -2    4   1 2 3 4
 * * * * *          -1    5   1 2 3 4 5
* * * * * *          0    6   1 2 3 4 5 6
 * * * * *           1    7   1 2 3 4 5
  * * * *            2    8   1 2 3 4
   * * *             3    9   1 2 3
    * *              4    10  1 2 
     *               5    11  1
"""
print("=" * 10)
for i in range(1, 12):
    for k in range(0, abs(i - 6)):
        print(" ", end="")
    for j in range(1, i + 1):
        if j <= i and i + j <= 12:
            print("* ", end="")
    print()
"""
(4)
                    k    i   j
     *              -5    1        1
    * *             -4    2       1 2
   *   *            -3    3      1 2 3
  *     *           -2    4     1 2 3 4
 *       *          -1    5    1 2 3 4 5
*         *          0    6   1 2 3 4 5 6
 *       *           1    7    1 2 3 4 5
  *     *            2    8     1 2 3 4
   *   *             3    9      1 2 3
    * *              4    10      1 2 
     *               5    11       1
     j == 1   i == j   i + j == 12
"""
print("=" * 10)
for i in range(1, 12):
    for k in range(0, abs(i - 6)):
        print(" ", end="")
    for j in range(1, i + 1):
        if j <= i and i + j <= 12:#打当前行
            if j == 1 or j == i or i + j == 12:#当前行哪个位置打*
                print("* ", end="")
            else :
                print("  ", end="")
    print()

while循环

while 布尔表达式:
		循环语句
循环的初始化
while 循环的继续条件:
	循环的循环体
    循环的步长
while True:
	循环体
"""
打印1~100之间的偶数
"""
num = 1
while num <= 100:
    if num % 2 == 0:
        print(num)
    num += 1
"""
*
**
***
****
*****
"""
i = 1
while i <= 5:
    j = 1
    while j <= i:
        print("*", end="")
        j += 1
    print()
    i += 1
# 死循环
"""
while True:
    print("哈哈")
想要用while True 实现循环 一定要记得在某个时刻break
"""

"""
打印1~100之间的奇数
"""
num = 1
while True:
    if num % 2 == 1:
        print(num)
    num += 1

    if num > 100 :#这段放在上面的IF前面的话会多一次循环操作
        break

编程题练习写到Demo54

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值