接收用户输入与运算符

一、接收用户的输入

1、在Python3input会将用户输入的所有内容都存成字符串类型

#  username = input("请输入您的账号:")  # "egon"

# age = input("请输入的你的年龄: ")  # age="18"

# age=int(age) # int只能将纯数字的字符串转成整型

2、在python2中:

raw_input():用法与python3input一模一样

# 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%

3str.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

4fpython3.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

posted @ 2020-03-10 00:32  多啦a梦与时光机  阅读(221)  评论(0编辑  收藏  举报