首页 > 其他分享 >与用户交互、格式化输出、基本运算符

与用户交互、格式化输出、基本运算符

时间:2023-02-20 12:23:04浏览次数:42  
标签:输出 格式化 True 运算符 print 交互 kevin 赋值

一、程序与用户交互

1.1什么是与用户交互

用户交互就是人往计算机中input/输入数据,计算机print/输出结果

1.2为什么要与用户交互

为了让计算机能够像人一样与用户沟通交流

比如,过去我们去银行取钱,用户需要把帐号密码告诉柜员,而现在,柜员被ATM机取代,ATM机就是一台计算机,所以用户同样需要将帐号密码告诉计算机,于是我们的程序中必须有相应的机制来控制计算机接收用户输入的内容,并且输出结果

1.3如何与用户交互

交互的本质就是输入、输出

1.3.1输入input:

password = input('请输入你的密码:>>>')
print(password, type(password)) # input接受的所有数据类型都是str类型

# print(password == '123')  # 会报错,因为python中==比较的是数据值和数据类型

# 整型和字符串的相互改变
print(int(password) == 123)  
print(password == str(123))  

1.3.2输出print

print(value, ..., sep=' ', end=' ', file=sys.stdout, flush=False)
sep:seperator,分隔符,默认是空格
end:print会自动换行,end='',取消自动换行

print(123)
print(456)
#输出 123
#输出 456

print(123, end='')
print(456)
#输出 123456

练习:用户输入姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Tony -----------
Name : Tony
Age : 22
Sex : male
Job : Teacher
------------- end -----------------

name = input('Name  : ')
age = input('Age   : ')
sex = input('Sex   : ')
job = input('Job   : ')
print(
      '-' * 12, 'info of %s' % (name), '-' * 11,
      '\nName  : %s'
      '\nAge   : %s'
      '\nSex   : %s'
      '\nJob   : %s'
      % (name, age, sex, job),
      '\n', '-' * 13, "end", '-' * 17
)

二、格式化输出

2.1什么是格式化输出?

把一段字符串里面的某些内容替换掉之后再输出,就是格式化输出。

2.2为什么要格式化输出?

我们经常会输出具有某种固定格式的内容,比如:'亲爱的xxx你好!你xxx月的话费是xxx,余额是xxx‘,我们需要做的就是将xxx替换为具体的内容。

2.3占位符

# %s称为占位符(掌握)可以为所有的数据类型占位
res = '亲爱的%s你好!你%s月的话费是%s,余额是%s,我们需要做的就是将xxx替换为具体的内容。'
print(res % ('kevin', 2, 46, 99999999))
print(res % ('kevin1', 2, 57, 100))
print(res % ('kevin2', 2, 33, 1199999))

res1 = 'my name is %s'
print(res1 % 'tony')

# %d占位符(了解)只能给数字类型占位
print("金额:%08d" % 111)
print("金额:%08d" % 666666)
print("金额:%08d" % 99999999999)

三、基本运算符

3.1算术运算符

以下假设变量: a=10,b=20:

3.2比较运算符

3.3赋值运算符

python语法中除了有=号这种简单的赋值运算外,还支持增量赋值、链式赋值、交叉赋值、解压赋值,这些赋值运算符存在的意义都是为了让我们的代码看起来更加精简

3.3.1增量赋值

3.3.2链式赋值

x = 10
y = x
z = y
x, y, z
#输出(10, 10, 10)

3.3.3交叉赋值

m = 10
n = 20
n, m = m, n  # m, n是转换成元组(10 ,20)的形式
print(n,m)
#输出(10, 20)

t = 1, 2  # 即是t=(1,2)
print(type(t))
#输出<class 'tuple'>

3.3.4解压赋值(重点)

原理:将后面的数据按照顺序分别赋值给前面,所以左右两边的个数必须一致,少了或者多了就会报错

names_list = ['kevin', 'tony', 'tank', 'tom']
l1 = names_list[0]  # 分别取出列表中的数据
l2 = names_list[1]
l3 = names_list[2]
l4 = names_list[3]
print(l1, l2, l3, l4) # 这样的方式比较麻烦

# ll1, ll2, ll3, ll4 = ['kevin', 'tony', 'tank', 'tom']
ll1, ll2, ll3, ll4 = names_list
print(ll1, ll2, ll3, ll4)

列表中有大量元素,只取前面几位或者后面几位的方法,可以用*_匹配(了解)
原理:把列表中第一个'kevin'赋值给l1,最后一个'tom',赋值给l4,剩下中间的元素全部赋值给星号后面的变量

l1, *a, l4 = ['kevin', 'tony', 'tank','a','b', 'tom']
print(l1, a, l4)   
#输出kevin ['tony', 'tank', 'a', 'b'] tom

ll1, *a, ll3, ll4 = ['kevin', 'tony', 'tank','a','b', 'tom']
print(ll1, a, ll4)  
#输出kevin ['tony', 'tank', 'a'] tom

3.4逻辑运算符

3.4.1and 与

可以用and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件的结果都为True的情况下,最终结果才为True。

2 > 1 and 1 != 1 and True and 3 > 2 # 判断完第二个条件,就立即结束,得的最终结果为False
#输出False

3.4.2or 或

可以用or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True,只有在所有条件的结果都为False的情况下,最终结果才为False

2 > 1 or 1 != 1 or True or 3 > 2 # 判断完第一个条件,就立即结束,得的最终结果为True
#输出True

3.4.3not 非(取反)

混用and、or、not

优先级not>and>or(最好使用括号来区分优先级)

3.5成员运算符

判断某个个体是否在某个群体中,可以是字符串,列表或元组
符号:in(在) not in(不在)

name_list = ['kevin', 'jack', 'tony', 'tom']

print('kevin' in name_list)  
#输出True
print('kevin' not in name_list)  
#输出False
print('aaa' not in name_list)  
#输出True
print('bbb' in name_list)  
#输出False

# 判断某个字符串是否在另一个字符串中:
print('k' in 'kevin')  
#输出True
print('hello' in 'helloworld') 
#输出True

3.6身份运算符

比较两个对象的存储单元,判断两个值是否相等
符号: is is not

is和==的区别:
值相等的内存地址不一定相等,内存地址相等的值一定相等

# is(比较的是内存地址) ==(比较的是值)
s1 = ['a', 'b', 'c']
s2 = ['a', 'b', 'c']
print(s1 == s2)  
#输出True

print(id(s1))
print(id(s2))  #id是不相同的
print(s1 is s2)  
#输出False 

标签:输出,格式化,True,运算符,print,交互,kevin,赋值
From: https://www.cnblogs.com/zjyao/p/17136887.html

相关文章

  • 图书管理(交互)
    图书管理系统(交互式)创建图书的书籍类图书的属性privateStringtitle;//书名privateStringauthor;//作者privatedoubleprice;//价格图书的有参构造(用于录......
  • Vue前后端交互、生命周期、组件化开发
    目录Vue前后端交互、生命周期、组件化开发一、Vue用axios与后端交互二、Vue的生命周期三、组件化开发Vue前后端交互、生命周期、组件化开发一、Vue用axios与后端交互​ ......
  • 05-python运算符
    运算符算术运算符算数运算符:+-*///%**#+var1=7var2=90res=var1+var2print(res)#97#-var1=7var2=90res=var1-var2print(res)#......
  • 购物车案例&v-model进阶&与后端交互&vue生命周期&vue组件
    目录购物车案例&v-model进阶&与后端交互&vue生命周期&vue组件今日内容概要今日内容详细1购物车案例1.1基本购物车1.2带全选全不选1.3带加减2v-model进阶3与后端交互3......
  • Golang基础-格式化输出
    General%v thevalueinadefaultformat whenprintingstructs,theplusflag(%+v)addsfieldnames%#v aGo-syntaxrepresentationofthevalue%T aGo-synta......
  • C# 运算符的优先级
    http://www.51din.com/196852.html在C#中,一共有38个常用的运用符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,它们归为七个等级:1、单元运算符和括号。2、常规算......
  • JavaScript 日期和时间的格式化
    一、日期和时间的格式化1、原生方法1.1、使用toLocaleString方法Date对象有一个toLocaleString方法,该方法可以根据本地时间和地区设置格式化日期时间。例如:const......
  • golang运算符
    1.算术运算符算术运算符有:+,-,*,/,%,++,--1.1加号(+)表示正数数字相加字符串拼接packagemainimport( "fmt")funcmain(){ num1:=+4 num2:=8 str1:="abc......
  • vue 购物车案例,v-model进阶,与后端交互,vue生命周期,vue组件
    昨日内容回顾#1v-for可以循环的类型#2js的循环方式-基于索引的循环(i=0;i<10;i++)-in循环出来的是索引-of基于迭代的,循环出来就是值-数组.......
  • vue常用依赖(二)vkbeautify格式化JSON、XML字符串及highlight.js高亮
    vkbeautify是一款格式化工具,可以将xml、json字符串格式化处理,处理后的字符串直接放入pre+code的标签即可。vkbeautify使用方法1.下载npminstallvkbeautify2.引入im......