python全栈-day2

1、格式化输出 %s d

% -> 占位符,s -> str(字符串),d -> 相当于int(数字)

(1)%s_用户交互

name = input('请输入姓名')
age = input('请输入年龄')
height = input('请输入身高')
msg = '我叫%s, 今年%s ,身高%s' %(name,age,height)
print(msg)

(2)整体打印输出

name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobbie = input('请输入你的爱好:')

msg = '''--------------- info of %s --------------
Name  : %s
Age   : %d
Job   : %s
Hobbie: %s
---------------- end ----------------'''%(name, name, int(age), job, hobbie)

(3)多加个百分号有转义的意思,%%---%就不是格式化字符,而是百分号

name = input('请输入姓名')
age = input('请输入年龄')
height = input('请输入身高')
msg = '我叫%s, 今年%s ,身高%s, 学习进度为10%%' %(name,age,height)
print(msg)

2、while else

(1)pass

count = 0
while count <= 5:
    count += 1
    if count == 3:pass
    print('loop',count)

else:
    print("循环正常执行完了")
print('----out of while loop-----')

(2)break(见到break,循环被打断,跳出while循环,就不执行else下的语句了)

count = 0
while count <= 5:
    count += 1
    if count == 3: break
    print('loop', count)

else:)
    print("循环正常执行完了")
print('----out of while loop-----'

3、初始编码

1.8 bit 位 == 1 byte 字节 == 1024 kb
1 kb == 1024 MB ....
2.美国ASSCI码:设计之初7位,128种,够表示全部英文大小写及数字、特殊字符、标点符号等,设计时多预留一位8位表示一个字节
为了解决全球化的文字问题,创建了一个万国码,unicode
最开始
1个字节 表示所有英文,特殊字符,数字等
2个字节 16位表示一个中文,不够 ;unicode用四个字节表示一个中文
升级版 utf-8 一个中文 3个字节去表示 包含所有文字
gbk国内使用的编码,一个中文用2个字节,只包含中文,不全

4、逻辑运算  end  or  not   

 优先级    ()  >  not  >  and  >  or

print(2 > 1 and 1 < 4)
print( 2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2)
print(3>4 or 4<3 and 1==1)  #F
print(1<2 and 3<4 or 1>2)   #T
print(2>1 and 3<4 or 4<5 and 2<1)   #T
print(1>2 and 3<4 or 4>5 and 2>1 or 9<8)    #F
print(1>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)    #F
print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)    #F
运算符前后都是比较式-->T or F
print(bool(0))
print(bool(2))
print(bool(-2))
#bool ---> int
print(int(False))
print(int(True))
int ----> bool 非零转换成bool True 0 转换成bool False
print(1 or 2)   #1
print(0 or 2)   #2
print(0 or 100) #100
print(2 or 3)   #2
print(3 or 2)   #3
x or y x为非零(True),则返回x
print(1 and 2)  #2
print(0 and 2)  #0
x and y x为非零,则返回y
print(2 or 100 or 3 or 4)   #2
print(0 or 4 and 3 or 2)    #3
print(2 or 1<3)     #2
print(2 or 1<3 and 2)       #2

print(1<3 or 2)     #T
print(1<3 or 2 and 2)       #T

print(1>2 or 3 and 3<2)     #F
print(3>1 or 2 and 2)       #T
综合
     总结:无论几个or或者and,按照优先级判断x(即最左边的数或逻辑运算式),最终返回的是数,则输出数值;若是逻辑运算式,则输出True、False。

猜你喜欢

转载自www.cnblogs.com/dabj-yb/p/12430900.html