python基础-人机交互和运算符
2021-03-13 22:36
标签:位置 默认 amp aabb hid format NPU user 兼容 python基础-人机交互和运算符 标签:位置 默认 amp aabb hid format NPU user 兼容 原文地址:https://www.cnblogs.com/fengpiaoluoye/p/14045464.html# 1、接收用户的输入
# 在Python3:input会将用户输入的所有内容都存成字符串类型
# username = input("请输入您的账号:") # "egon"
# print(username, type(username))
# age = input("请输入的你的年龄: ") # age="18"
# print(age, type(age))
# age=int(age) # int只能将纯数字的字符串转成整型
# print(age > 16)
# int("12345")
# int("1234.5")
# int("1234abc5")
>>> print(‘hello world‘) # 只输出一个值
hello world
>>> print(‘first‘,‘second‘,‘third‘) # 一次性输出多个值,值用逗号隔开
first second third
# 默认print功能有一个end参数,该参数的默认值为"\n"(代表换行),可以将end参数的值改成任意其它字符
print("aaaa",end=‘‘)
print("bbbb",end=‘&‘)
print("cccc",end=‘@‘)
#整体输出结果为:aaaabbbb&cccc@
# 在python2中:
# raw_input():用法与python3的input一模一样
# input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型
# >>> age=input(">>>>>>>>>>>>>>>>>>>>>: ")
# >>>>>>>>>>>>>>>>>>>>>: 18
# >>> age,type(age)
# (18,
# 1、格式的字符串(即%s)与被格式化的字符串(即传入的值)必须按照位置一一对应
# ps:当需格式化的字符串过多时,位置极容易搞混
print(‘%s asked %s to do something‘ % (‘egon‘, ‘lili‘)) # egon asked lili to do something
print(‘%s asked %s to do something‘ % (‘lili‘, ‘egon‘)) # lili asked egon to do something
# 2、可以通过字典方式格式化,打破了位置带来的限制与困扰
print(‘我的名字是 %(name)s, 我的年龄是 %(age)s.‘ % {‘name‘: ‘egon‘, ‘age‘: 18})
kwargs={‘name‘: ‘egon‘, ‘age‘: 18}
print(‘我的名字是 %(name)s, 我的年龄是 %(age)s.‘ % kwargs)
# 2.2 str.format:兼容性好
# 按照位置传值
# res=‘我的名字是 {} 我的年龄是 {}‘.format(‘egon‘,18)
# print(res)
# res=‘我的名字是 {0}{0}{0} 我的年龄是 {1}{1}‘.format(‘egon‘,18)
# print(res)
# 打破位置的限制,按照key=value传值
# res="我的名字是 {name} 我的年龄是 {age}".format(age=18,name=‘egon‘)
# print(res)
# 了解知识
"""
2.4 填充与格式化
# 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
# *10:右对齐,总共10个字符,不够的用*号填充
print(‘{0:*>10}‘.format(‘开始执行‘)) # ******开始执行
# *^10:居中显示,总共10个字符,不够的用*号填充
print(‘{0:*^10}‘.format(‘开始执行‘)) # ***开始执行***
2.5 精度与进制
print(‘{salary:.3f}‘.format(salary=1232132.12351)) #精确到小数点后3位,四舍五入,结果为:1232132.124
print(‘{0:b}‘.format(123)) # 转成二进制,结果为:1111011
print(‘{0:o}‘.format(9)) # 转成八进制,结果为:11
print(‘{0:x}‘.format(15)) # 转成十六进制,结果为:f
print(‘{0:,}‘.format(99812939393931)) # 千分位格式化,结果为:99,812,939,393,931
"""
# 2.3 f:python3.5以后才推出
x = input(‘your name: ‘)
y = input(‘your age: ‘)
res = f‘我的名字是{x} 我的年龄是{y}‘
print(res)
# 了解f的新用法:{}内的字符串可以被当做表达式运行
# res=f‘{10+3}‘
# print(res)# 1、算数运算符
# print(10 + 3.1)
# print(10 + 3)
# print(10 / 3) # 结果带小数
# print(10 // 3) # 只保留整数部分
# print(10 % 3) # 取模、取余数
# print(10 ** 3) # 取模、取余数
# 2、比较运算符: >、>=、
# print(10 > 3)
# print(10 == 10)
#
# print(10 >= 10)
# print(10 >= 3)
# name=input(‘your name: ‘)
# print(name == ‘egon‘)
# 3、赋值运算符
# 3.1 =:变量的赋值
# 3.2 增量赋值:
# age = 18
# # age += 1 # age=age + 1
# # print(age)
#
# age*=3
# age/=3
# age%=3
# age**=3 # age=age**3
# 3.3 链式赋值
# x=10
# y=x
# z=y
# z = y = x = 10 # 链式赋值
# print(x, y, z)
# print(id(x), id(y), id(z))
# 3.4 交叉赋值
m=10
n=20
# print(m,n)
# 交换值
# temp=m
# m=n
# n=temp
# print(m,n)
# m,n=n,m # 交叉赋值
# print(m,n)
# 3.5 解压赋值
salaries=[111,222,333,444,555]
# 把五个月的工资取出来分别赋值给不同的变量名
# mon0=salaries[0]
# mon1=salaries[1]
# mon2=salaries[2]
# mon3=salaries[3]
# mon4=salaries[4]
# 解压赋值
# mon0,mon1,mon2,mon3,mon4=salaries
# print(mon0)
# print(mon1)
# print(mon2)
# print(mon3)
# print(mon4)
# mon0,mon1,mon2,mon3=salaries # 对应的变量名少一个不行
# mon0,mon1,mon2,mon3,mon4,mon5=salaries # 对应的变量名多一个也不行
# 引入*,可以帮助我们取两头的值,无法取中间的值
# 取前三个值
# x,y,z,*_=salaries=[111,222,333,444,555] # *会将没有对应关系的值存成列表然后赋值给紧跟其后的那个变量名,此处为_
# print(x,y,z)
# print(_)
# 取后三个值
# *_,x,y,z=salaries=[111,222,333,444,555]
# print(x,y,z)
# x,*_,y,z=salaries=[111,222,333,444,555]
# print(x,y,z)
# salaries=[111,222,333,444,555]
# _,*middle,_=salaries
# print(middle)
# 解压字典默认解压出来的是字典的key
x,y,z=dic={‘a‘:1,‘b‘:2,‘c‘:3}
print(x,y,z)
# 1、可变不可变类型
# 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的
# 不可变类型:值改变,id也变了,证明是产生新的值,压根没有改变原值,证明原值是不可以被修改的
# 2、验证
# 2.1 int是不可变类型
# x=10
# print(id(x))
# x=11 # 产生新值
# print(id(x))
# 2.2 float是不可变类型
# x=3.1
# print(id(x))
# x=3.2
# print(id(x))
# 2.3 str是不可变类型
# x="abc"
# print(id(x))
# x=‘gggg‘
# print(id(x))
# 小结:int、float、str都被设计成了不可分割的整体,不能够被改变
# 2.4 list是可变类型
# l=[‘aaa‘,‘bbb‘,‘ccc‘]
# print(id(l))
# l[0]=‘AAA‘
# print(l)
# print(id(l))
# 2.5 dict
# dic={‘k1‘:111,‘k2‘:222}
# print(id(dic))
# dic[‘k1‘]=3333333333
# # print(dic)
# print(id(dic))
#2.6 bool不可变
# 关于字典补充:
# 定义:{}内用逗号分隔开多key:value,
# 其中value可以是任意类型
# 但是key必须是不可变类型
# dic={
# ‘k1‘:111,
# ‘k2‘:3.1,
# ‘k3‘:[333,],
# ‘k4‘:{‘name‘:‘egon‘}
# }
#
# dic={
# 2222:111,
# 3.3:3.1,
# ‘k3‘:[333,],
# ‘k4‘:{‘name‘:‘egon‘}
# }
# print(dic[3.3])
# dic={[1,2,3]:33333333}
# dic={{‘a‘:1}:33333333}
# 2、什么是条件?什么可以当做条件?为何要要用条件?
# 第一大类:显式布尔值
# 2.1 条件可以是:比较运算符
# age = 18
# print(age > 16) # 条件判断之后会得到一个布尔值
# 2.1 条件可以是:True、False
# is_beautiful=True
# print(is_beautiful)
# 第二大类:隐式布尔值,所有的值都可以当成条件去用
# 其中0、None、空(空字符串、空列表、空字典)=》代表的布尔值为False,其余都为真
1 # 一:not、and、or的基本使用
2 # not:就是把紧跟其后的那个条件结果取反
3 # ps:not与紧跟其后的那个条件是一个不可分割的整体
4 # print(not 16 > 13)
5 # print(not True)
6 # print(not False)
7 # print(not 10)
8 # print(not 0)
9 # print(not None)
10 # print(not ‘‘)
11
12 # and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真
13 # print(True and 10 > 3)
14
15 # print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True
16 # print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3) # 偷懒原则
17
18 # or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True,
19 # 两个条件都为False的情况下,最终结果才为False
20 # print(3 > 2 or 0)
21 # print(3 > 4 or False or 3 != 2 or 3 > 2 or True) # 偷懒原则
22
23 # 二:优先级not>and>or
24 # ps:
25 # 如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
26 # 如果是混用,则需要考虑优先级了
27
28 # res=3>4 and not 4>3 or 1==3 and ‘x‘ == ‘x‘ or 3 >3
29 # print(res)
30 #
31 # # False False False
32 # res=(3>4 and (not 4>3)) or (1==3 and ‘x‘ == ‘x‘) or 3 >3
33 # print(res)
34
35
36
37 res=3>4 and ((not 4>3) or 1==3) and (‘x‘ == ‘x‘ or 3 >3)
38 print(res)
1 # 1、成员运算符
2 # print("egon" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
3 # print("e" in "hello egon") # 判断一个字符串是否存在于一个大字符串中
4
5 # print(111 in [111,222,33]) # 判断元素是否存在于列表
6
7 # 判断key是否存在于字典
8 # print(111 in {"k1":111,‘k2‘:222})
9 # print("k1" in {"k1":111,‘k2‘:222})
10
11 # not in
12 # print("egon" not in "hello egon") # 推荐使用
13 # print(not "egon" in "hello egon") # 逻辑同上,但语义不明确,不推荐
14
15 # 2、身份运算符
16 # is # 判断的是id是否相等
1 # print(1)
2 # print(2)
3 # print(3)
4 # if 条件:
5 # 代码1
6 # 代码2
7 # 代码3
8 # print(4)
9 # print(5)
10 ‘‘‘
11 语法1:
12 if 条件:
13 代码1
14 代码2
15 代码3
16
17 ‘‘‘
18 # age = 60
19 # is_beautiful = True
20 # star = ‘水平座‘
21 #
22 # if age > 16 and age
23 # print(‘我喜欢,我们在一起吧。。。‘)
24 #
25 # print(‘其他代码.............‘)
26
27
28 ‘‘‘
29 语法2:
30 if 条件:
31 代码1
32 代码2
33 代码3
34 else:
35 代码1
36 代码2
37 代码3
38 ‘‘‘
39
40 # age = 60
41 # is_beautiful = True
42 # star = ‘水平座‘
43 #
44 # if age > 16 and age
45 # print(‘我喜欢,我们在一起吧。。。‘)
46 # else:
47 # print(‘阿姨好,我逗你玩呢,深藏功与名‘)
48 #
49 # print(‘其他代码.............‘)
50
51
52 ‘‘‘
53 语法3:
54 if 条件1:
55 代码1
56 代码2
57 代码3
58 elif 条件2:
59 代码1
60 代码2
61 代码3
62 elif 条件2:
63 代码1
64 代码2
65 代码3
66 ‘‘‘
67 # score=73
68 # if score >= 90:
69 # print(‘优秀‘)
70 # elif score >= 80 and score
71 # print(‘良好‘)
72 # elif score >= 70 and score
73 # print(‘普通‘)
74
75 # 改进
76 # score = input(‘请输入您的成绩:‘) # score="18"
77 # score=int(score)
78 #
79 # if score >= 90:
80 # print(‘优秀‘)
81 # elif score >= 80:
82 # print(‘良好‘)
83 # elif score >= 70:
84 # print(‘普通‘)
85
86
87 ‘‘‘
88 语法3:
89 if 条件1:
90 代码1
91 代码2
92 代码3
93 elif 条件2:
94 代码1
95 代码2
96 代码3
97 elif 条件2:
98 代码1
99 代码2
100 代码3
101 ...
102 else:
103 代码1
104 代码2
105 代码3
106 ‘‘‘
107 # score = input(‘请输入您的成绩:‘) # score="18"
108 # score=int(score)
109 #
110 # if score >= 90:
111 # print(‘优秀‘)
112 # elif score >= 80:
113 # print(‘良好‘)
114 # elif score >= 70:
115 # print(‘普通‘)
116 # else:
117 # print(‘很差,小垃圾‘)
118 #
119 # print(‘=====>‘)
120
121
122 ‘‘‘
123 if嵌套if
124 ‘‘‘
125 age = 17
126 is_beautiful = True
127 star = ‘水平座‘
128
129 if 16 and is_beautiful and star == ‘水平座‘:
130 print(‘开始表白。。。。。‘)
131 is_successful = True
132 if is_successful:
133 print(‘两个从此过上没羞没臊的生活。。。‘)
134 else:
135 print(‘阿姨好,我逗你玩呢,深藏功与名‘)
136
137 print(‘其他代码.............‘)