一、格式化输出
%s 字符串占位
%d 数字的占位
现在有以下需求,让⽤用户输入name, age, job,hobby 然后输出如下所⽰:
------------ info of fang xing ----------- Name : fang xing Age : 18 job : 1234567890 Hobbie: LOL ------------- end -----------------
代码展示:
name = input("Name:") age = input("Age:") job = input("Job:") hobbie = input("Hobbie:") info = ''' ---------------- info of %s ------------------- #这⾥里里的每个%s就是⼀一个占位符,本⾏行行的代表 后⾯面拓拓号⾥里里的 name Name : %s Age : %s Job : %s Hobbie : %s ----------------- end --------------------------- # 这⾏行行的 % 号就是 把前⾯面的字符串串 与拓拓号 后⾯面的 变量量 关联起来 ''' %(name,name,age,job,hobbie) print(info)
%s就是代表字符串串占位符,除此之外,还有%d, 是数字占位符, 如果把上⾯面的age后⾯面的换成%d,就代表你必须只
能输⼊入数字啦
这时对应的数据必须是int类型. 否则程序会报错
使⽤用时,需要进⾏行行类型转换.
int(str) # 字符串串转换成int str(int) # int转换成字符串串
类似这样的操作在后⾯面还有很多,可以全部都⽤用%s. 因为任何东⻄西都可以直接转换成字符串串--> 仅限%s。
我叫xxx, 今年年xx岁了了,我们已经学习了了2%的python基础了了
这⾥里里的问题出在哪⾥里里呢? 没错2%, 在字符串串中如果使⽤用了了%s这样的占位符. 那么所有的%都将变成占位符. 我们的2%也变成了了
占位符. ⽽而"%的"是不存在的, 这⾥里里我们需要使⽤用%%来表⽰示字符串串中的%.
print("我叫%s,今年11岁,已经学习python2%%了"%("德玛西亚")) #有占位符
print("我叫盖伦, 今年12岁, 已经凉凉了了100%了") #没有占位符
二、基本运算符
计算机可以进⾏行行的运算有很多种,可不不只加减乘除这么简单,运算按种类可分为:
算数运算、
比较运算、
逻辑运算、
赋值运算、
成员运算、
身份运算、
位运算.
今天我们暂只学习算数运算、⽐比较运算、逻辑运算、赋值运算
2.1 算数运算
以下假设变量量:a=10,b=20
2.2 ⽐较运算
以下假设变量量:a=10,b=20
2.3 赋值运算
以下假设变量量:a=10,b=20
2.4 逻辑运算
and: 并且, 两边都是真结果才能是真
or: 或者, 两边有一个是真. 结果就是真
not: 非真即假, 非假既真
针对逻辑运算的进⼀一步研究:
1, 在没有()的情况下not 优先级⾼高于 and,and优先级⾼高于or,即优先级关系为( )>not>and>or,同⼀一优先级从左往
右计算。
() > not > and > or
例题:
判断下列列逻辑语句句的True,False。
3>4 or 4<3 and 1==1 #False 1 < 2 and 3 < 4 or 1>2 #True 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 #True 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 #False 1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 #False not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 #False
2、x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
例例题:求出下列列逻辑语句句的值。
8 or 4 #8 0 and 3 #0 0 or 4 and 3 or 7 or 9 and 6 #3