Python访问列表中元组的每个元素、打印9 * 9乘法表、运算符的使用、if的三种形式,举样例说明

目录

1. 访问[(1, 10), (2, 20), (3, 30)]列表中元组的每个元素

2. 打印9 * 9乘法表

3. 运算符的使用:

算术运算符

比较运算符

逻辑运算符

位运算符

赋值运算符

成员运算符

身份运算符

4.if的三种形式


1. 访问[(1, 10), (2, 20), (3, 30)]列表中元组的每个元素

  • 笨办法:
list_data = [(1, 10), (2, 20), (3, 30)]
print(list_data[0], list_data[0][0], list_data[0][1],
      list_data[1], list_data[1][0], list_data[1][1],
      list_data[2], list_data[2][0], list_data[2][1])
# (1, 10) 1 10 (2, 20) 2 20 (3, 30) 3 30
  • for循环:
list_data = [(1, 10), (2, 20), (3, 30)]
for i in range(0, len(list_data)):
    print(list_data[i])  # (1, 10)(2, 20)(3, 30)
    for j in range(0, len(list_data[i])):
        print(list_data[i][j])

结果:

2. 打印9 * 9乘法表

  • 使用for循环:
for i in range(1, 10):
    for j in range(1, i + 1):
        print(i, "*", j, "=", i * j, end="\t")
    # for j in range(1, 10):
    #     if j <= i:
    #         print(i, "*", j, "=", i * j, end="\t")
    print()
  • 使用while循环:
i = 1
while i < 10:
    j = 1
    while j <= i:
        print(i, "*", j, "=", i*j, end="\t")
        j += 1
    print()
    i += 1

3. 运算符的使用:

算术运算符

+,-, *, /,%,//,**

以下假设变量: a=10,b=20

算术运算符英文含义实例
+add加 - 两个对象相加a + b = 30
-sub减 - 得到负数或是一个数减去另一个数a - b = -10
*mul乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b = 200
/div除 - x除以yb / a = 2.0
%mod取余(模) - 返回除法的余数9 % 2 = 1
//floordiv取整除 - 返回商的整数部分(向下取整9 // 2 = 4;-9 // 2 = -5
**pow幂 - 返回x的y次幂a**b = 10^20
a = 10
b = 20
print(a + b)    # 30
print(a - b)    # -10
print(a * b)    # 200
print(b / a)    # 2.0
print(9 % 2)    # 1
print(9 // 2)   # 4
print(-9 // 2)  # -5
print(a**b)     # 10^20   100000000000000000000

注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。

>>> 1/2
0
>>> 1.0/2
0.5
>>> 1/float(2)
0.5

现在的版本里:

print(1 / 3)  # 0.3333333333333333
print(1 / 3 * 3)    # 1.0
print(1 / 2)  # 0.5

比较运算符

==,!=,>,>=,<,<=

以下假设变量: a=10,b=20

比较运算符英文含义实例
==equal : eq等于 - 比较对象是否相等(a == b) 返回 False。
!=not equal: ne不等于 - 比较两个对象是否不相等(a != b) 返回 True。
>greater than: gt大于 - 返回x是否大于y

(a > b) 返回 False。

>=greater than equal: ge大于等于 - 返回x是否大于等于y。

(a >= b) 返回 False。

<less than: lt小于 - 返回x是否小于y。(a < b) 返回 True。
<=less than equal: le小于等于 - 返回x是否小于等于y。(a <= b) 返回 True。
a = 10
b = 20
print(a == b)   # False
print(a != b)   # True
print(a > b)    # False
print(a >= b)   # False
print(a < b)    # True
print(a <= b)   # True

逻辑运算符

以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

位运算符

操作的是二进制

&:按位与,|:按位或,~:按位取反,^: 按位异或,<<:左移,>>:右移

下表中变量 a 为 60,b 为 13,代码+二进制分析如下:

a = 60          # 0011 1100
b = 13          # 0000 1101
# ------------------------------
print(a & b)    # 0000 1100 - 12
print(a | b)    # 0011 1101 - 61
print(a ^ b)    # 0011 0001 - 49
print(~a)       # 1100 0011(补码) => 1100 0010(反码) => 1011 1101(原码) => -61
print(a >> 2)   # 0000 1111 - 15
print(a << 2)   # 1111 0000 - 240

注意: 按位取反把所有的1改成0,0改1;若最高位取反后为成1,则为负数。正数的原码、反码、补码三码合一,负数的原码、反码、补码不相同。计算机底层以补码的形式存储数据。

负数:反码是原码除符号位,其他位取反;补码是在反码的基础上加1。

运算符描述实例
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a | b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数a >> 2 输出结果 15 ,二进制解释: 0000 1111

赋值运算符

以下假设变量a为10,变量b为20:

运算符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c **= a 等效于 c = c ** a
//=取整除赋值运算符c //= a 等效于 c = c // a

成员运算符

Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
a = 10
b = 20
list_data = [1, 2, 3, 4, 5]

if a in list_data:
    print("1 - 变量 a 在给定的列表中 list 中")
else:
    print("1 - 变量 a 不在给定的列表中 list 中")   # 1 - 变量 a 不在给定的列表中 list 中

if b not in list_data:
    print("2 - 变量 b 不在给定的列表中 list 中")
else:
    print("2 - 变量 b 在给定的列表中 list 中")    # 2 - 变量 b 不在给定的列表中 list 中

# 修改变量 a 的值
a = 2
if a in list_data:
    print("3 - 变量 a 在给定的列表中 list 中")    # 3 - 变量 a 在给定的列表中 list 中
else:
    print("3 - 变量 a 不在给定的列表中 list 中")

身份运算符

身份运算符用于比较两个对象的存储单元。

运算符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
print([] is None)       # False
print([] is not None)   # True
print([] is [])         # False
print([1] is [1])       # False

data1 = 1
data2 = 1
print(id(data1))    # 2802686847280
print(id(data2))    # 2802686847280

print(data1 is data2)   # True
print(data1 is not data2)  # False

4.if的三种形式

  • 第一种形式:

if condition:
    语句1
    语句2
    ……

sex = '男'
if sex == '男':
    print('请进男厕所')   # 请进男厕所
  • 第二种形式

if condition:
    语句1
else:
    语句2

money = 7000
price = 6300
if money >= price:
    balance = money - price
    print('恭喜你获得这个英雄,剩余', balance)
else:
    print('金币不足,无法购买,请充值!')
# 结果:恭喜你获得这个英雄,剩余 700
  • 第三种形式:

if condition:
    语句1
elif:
    语句2
elif:
    语句2
……
else:
    语句3

# 随机给出一个成绩,打印出他的成绩等级。
# 0-60: D
# 61-70: C
# 71-85: B
# 76-100: A
score = int(input("请输入你的成绩:"))
if score < 0:
    print('成绩无效')
elif score <= 60:
    print('D')
elif score <= 70:
    print('C')
elif score <= 85:
    print('B')
elif score <= 100:
    print('A')
else:
    print('无效成绩')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Golang_HZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值