用户交互与运算符

一.用户交互

1.用户输入input()

python3:input会将用户输入的所有内容存成字符串类型

python2:raw_input()用法与python3的input一模一样

              input():要求用户必须输入一个明确地数据类型,输入的是什么类型,就存什么类型

    print():输出、

# 在python3:input会将用户输入的所有内容都存成字符串类型
>>> age = input('age:')
age:18
>>> print(age,type(age))
18 <class 'str'>
>>>
>>> print(int(age),type(int(age)))
18 <class 'int'>
>>>

# 在python2:raw_input(),用法与python3的input一摸一样
# input():要求用户必须输入明确的数据类型,输入的什么类型就存成什么类型
>>> age = input('age:')
age:18
>>> print(age,type(age))
(18, <type 'int'>)
>>>

2.字符串的格式化输出

输出之字符串的格式化输出

  • 什么是格式化输出

    • 把一段字符串中的某些内容用自己定义的内容替换掉之后再输出
  • 为什么要格式化输出

    • 由于经常用到要输出固定格式的内容,普通的输出已经无法满足需求所以需要格式化输出
  • 如何格式化输出

    • 运用占位符来实现格式化输出,如:%、str.format、f''

  •  %

值按照位置与%s一一对应:

res = 'i am %s i am your %s' %('xilou','father')

以字典的形式传值,打破位置的限制:

res = 'i am %s(name) i am your %s(relat)' %('name':'xilou','relat':'father')

%s可以接受任意类型,%d只能接受int型

  • str.format()

按照位置传值:

res = 'i am {} i am your {}'.format('xilou','father')

以字典的形式传值,打破位置的限制:

res = 'i am {name} i am your {relat}'.format(name='xilou',relat='father')

  •  f(python3.5以后才推出)

x = 'xilou'

y = 'father'

res = f'i am {x} i am your {y}'

填充与格式化(了解)

  • 先取到值,然后在冒号后设定填充格式:[填充字符][对齐方式][宽度]
  • *<10:左对齐,总共10个字符,不够的用*号填充
  • print('{0:*<10}'.format('开始执行')) # 开始执行******
  •  *>10:右对齐,总共10个字符,不够的用*号填充
  • print('{0:*>10}'.format('开始执行')) # ******开始执行
  •  *^10:居中显示,总共10个字符,不够的用*号填充
  • print('{0:*^10}'.format('开始执行')) # ***开始执行***


精度与进制
  • 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

运算符

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

链式赋值
'''
x = 10
y = x
z = y
'''
z = y = x = 10 # 链式赋值
print(x,y,z)
print(id(x),id(y),id(z))

  

交叉赋值
m = 10
n = 20
print(m, n)
'''
temp = m
m = n
n = temp
print(m, n)
'''
m, n = n, m # 交叉赋值
print(m, n)

  

解压赋值
salaries=[11,22,33,44,55]
# 把五个月的工资取出来分别赋值给不同的变量
'''
mon0=salaries[0]
mon1=salaries[1]
mon2=salaries[2]
mon3=salaries[3]
mon4=salaries[4]
'''
mon0, mon1, mon2, mon3, mon4 = salaries
print(mon0, mon1, mon2, mon3, mon4)

# *_ 指后续的值会被*存称一个列表赋值给_,
# _ 通常指被废弃掉的变量,做一个占位符而已,约定熟成 
# *_ 只能取两端的值,不能够取中间值,且*在解压赋值中只能出现一次
mon0, mon1, *_ = salaries # 只取前两个值
*_, mon0, mon1= salaries # 只取后两个值
mon0, *_, mon1= salaries # 只取开头第一个值跟最后一个值
print(mon0, mon1)

# 解压字典默认解压出来的是字典的key
x,y,z=dic={'name':'Umi','age':18,'sex':'male'}
print(x,y,z)

  

  1. 逻辑运算符

    • 连续多个and
    • 连续多个or
    • 优先级not>and>or
    • 短路运算(了解)
  2. 成员运算符

    • in
  3. 身份运算符

    • is
原文地址:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12423693.html