接收用户输入与运算符
一、接收用户的输入
1、在Python3:input会将用户输入的所有内容都存成字符串类型
# username = input("请输入您的账号:") # "egon"
# age = input("请输入的你的年龄: ") # age="18"
# age=int(age) # int只能将纯数字的字符串转成整型
2、在python2中:
raw_input():用法与python3的input一模一样
# input(): 要求用户必须输入一个明确的数据类型,输入的是什么类型,就存成什么类型。
二、字符串的格式化输出
1、 %
值按照位置与%s一一对应,少一个不行,多一个也不行
如:res="my name is %s my age is %s" %('egon',"18")
以字典的形式传值,打破位置的限制
如res="我的名字是%(name)s我的年龄%(age)s" % {"age":"18", "name": 'egon' }
print(res)
2、%s可以接收任意类型
如:print('my age is %s' %18)
print('my age is %s' %[1,23])
print('my age is %s' %{'a':333})
print('my age is %d' %18) # %d只能接收int
print('my age is %d' %"18")
格式化输出:
print('my name is %s age is %s' %('egon',18))
print('成功的概率 %s%% ' % (97,)) # 97%
3、str.format:兼容性好,按照位置传值
如:res='我的名字是 {} 我的年龄是 {}'.format('egon',18)
print(res)
打破位置的限制,按照key=value传值
如:"""name:{x}
age:{y}
sex:{z}
""".format(z='male',x='egon',y=18)
(1)填充与格式化
先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
A、*<10:左对齐,总共10个字符,不够的用*号填充
B、*>10:右对齐,总共10个字符,不够的用*号填充
C、*^10:居中显示,总共10个字符,不够的用*号填充
例:print('{x}=='.format(x='开始执行')) #开始执行==
print('{x:=<10}'.format(x='开始执行')) # 开始执行======
print('{x:=>10}'.format(x='开始执行')) # ======开始执行
print('{x:=^10}'.format(x='开始执行')) # ===开始执行===
(2)精度与进制
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
4、f是python3.5以后才推出
x = input('your name: ')
y = input('your age: ')
res = f'我的名字是{x} 我的年龄是{y}'
print(res)
了解f的新用法:{}内的字符串可以被当做表达式运行
res=f'{10+3}'
print(res) # 13
三、运算符
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)
3、赋值运算符
(1)=:变量的赋值
(2)增量赋值:
age += 1
age*=3
age/=3
age%=3
age**=3
age=age**3
(3)链式赋值
z = y = x = 10 # 链式赋值
(4)交叉赋值
m,n=n,m # 交叉赋值
# print(m,n)
(5)解压赋值
引入*,可以帮助我们取两头的值,无法取中间的值
A、取前三个值
x,y,z,*_=salaries=[111,222,333,444,555]
# *会将没有对应关系的值存成列表然后赋值给紧跟其后的那个变量名,此处为_
B、取后三个值
*_,x,y,z=salaries=[111,222,333,444,555]
C、解压字典默认解压出来的是字典的key
x,y,z=dic={'a':1,'b':2,'c':3}
print(x,y,z) # a b c