今日内容

1.与用户交互

就是与用户交流,分为两步,一步是获取用户输入,一步是反馈信息输出

  1. 获取用户输入
input  # 获取用户输入
username = input('请输入您的用户名:')
'''
    1.先执行input获取用户输入
    2.将输入的数据绑定给变量名username
    3.以后在程序中就可以使用变量名反复调用用户数据
'''
ps:input获取到的数据会统一处理成字符串类型
  1. 反馈信息输出
print
print()
'''
1.括号内即可以放数据值也可以放变量名
2.print自带换行符   换行符:\r\n  \n
3.print也可以手动切换结束符    print(数据值/变量名,end='默认是\n')
'''

2.格式化输出

提前定义好一些内容,将来时用的时候可以在固定的地方做修改

程序中使用占位符来表示:%s %d

  1. 两种占位符的区别
  • %s常见数据类型都支持
  • %d只支持数字类型
  1. 占位符的使用
  • 单个占位符

image

  • 多个占位符

image

3.基本运算符

  1. 数学运算符
+ - * / %(取余) //(取整) **(幂运算)
写法             简化写法
n = n + 2        n += 2
n = n - 2        n -= 2
n = n * 2        n *= 2
n = n / 2        n /= 2
n = n % 2        n %= 2
n = n // 2       n //= 2
n = n ** 2       n **= 2
  1. 比较运算符
<  >   <=   >=  ==(等于号)   !=(不等于)

4.多种赋值方式

  1. 链式赋值

通常我们给多个变量名赋值一个相同的数据值时需要一个一个来,链式赋值可以一起来

name = 'timi'
name1 = name
name2 = name
使用链式赋值就可以写成
name = name1 = name2 = 'timi'
  1. 交叉赋值

m = 1 n = 2 让m和n互相转换绑定的值

# 写法一  采用中间变量
a = m
m = n
n = a
print(m, n)  # 2 1
# 写法二  交叉赋值语法
m, n = n, m
print(m, n)  # 2 1
  1. 解压赋值

有列表a = [1, 2, 3, 4]

我们在不会解压赋值语法时写成

a1 = a[0]
a2 = a[1]
a3 = a[2]
a4 = a[3]

当我们学会解压赋值语法时写成

a1, a2, a3, a4 = a
# 使用解压赋值语法时需要保证左边变量名的个数与右边数据值的个数相同,多了少了都不行

当我们只需要解压数据中的几个时,可以写成

a1, *b = a  # a1拿到想要的数据后剩余的数据会自动以列表的形式赋值给后面的变量名
print(a1)  # 1
print(b)  # [2, 3, 4]
'''
a1, *b = a   表示从最左边开始,只取一个数据值
*b, a1 = a   表示从最右边开始,只取一个数据值
a1, *b, c = a   表示左右两边各取一个
'''

# 当变量名不准备使用的时候可以使用下划线作为变量名绑定
a1, *_, c = a

5.逻辑运算符and or not

用于逻辑判断,主要与条件一起配合使用

  1. and 与

and连接的多个条件必须全部成立结果才成立

eg:要结婚了,女方要求有车有房有存款
    有车 and 有房 and 有存款  

如果一个条件表达式中全部由and组成,那么只要有一个不成立结果就不成立

eg:1 < 2 and 2 < 3 and 5 < 4 and 1 == 3  # False

如果需要你准确的说出具体的结果值 那么需要按照下列方式:
如果and左边的条件是成立的 那么就完全取决于右边的条件
右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值

eg:
print(1 < 2 and 123)  # 123 成立
print(1 < 2 and 2 < 3)  # True 成立
print(123 and 456)  # 456 成立

  1. or 或

or连接的多个条件只要有一个成立,结果就成立

eg:要结婚了,女方要求有车或者有房或者有存款
    有车 or 有房 or 有存款

如果一个条件表达式中全部由or组成那么只要有一个成立,结果就成立

eg:
1 < 2 or 2 < 3 or 5 < 4 or 1 == 3  # True
  1. not 非

取反

ps:三者混合使用时有优先级之分,可通过代码的形式提前规范好优先级

6.成员运算符 in

用来判断个体在不在群体内

a = [1, 2, 3, 4, 5]
print(0 in a)  # False
print(1 in a)  # True
# 列表的最小单位是数据值,不能再细分了,字符串的最小单位是单个的字符
b = 'hello world'
print(w in b)  #True

c = {
    'username': 'timi'
    'age': 18
}
print('timi' in c)  # False  字典成员运算只有键参与
print('username' in c)  # True  

7.身份运算符 is

id()  # 返回一串数字,该数字可以看成是内存地址

is 判断内存地址是否相同

== 判断数据值是否相同

image

作业

  1. 获取用户输入并打印成下列格式
    ------------ info of Jason -----------
    Name : Jason
    Age : 18
    Sex : male
    Job : Teacher
    ---------------- end -----------------
Name1 = input('Name:')
Age1 = input('Age:')
Sex1 = input('Sex:')
Job1 = input('Job:')
info = 'Name: %s \n Age: %s \n Sex: %s \n Job: %s'
a = 'info of Jason'
b = 'end'
print('-'*30, a, '-'*30)
print(info % (Name1, Age1, Sex1, Job1))
print('-'*30, b, '-'*30)

image

  1. 准备说出下列变量名v绑定的结果
    v1 = 1 or 3   # 1
    v2 = 1 and 3  # 3
    v3 = 0 and 2 and 1  # False
    v4 = 0 and 2 or 1  # 1
    v5 = 0 and 2 or 1 or 4  # 1
    v6 = 0 or False and 1  # False
posted on 2023-04-05 20:01  zyg111  阅读(50)  评论(0)    收藏  举报