水滴石穿Day02
格式化输出
name = input('请输入您的姓名:')
age = int(input('请输入您的年龄:'))
job = input('请输入您的职业: ')
hobby = input('请输入您的爱好: ')
msg = '''
----- info of %s -----
Name : %s
Age : %d
Job : %s
Hobby : %s
----- end -----''' % (name,name,age,job,hobby)
print(msg)
请输入您的姓名:汤圆
请输入您的年龄:23
请输入您的职业: Student
请输入您的爱好: shopping
----- info of 汤圆 -----
Name : 汤圆
Age : 23
Job : Student
Hobby : shopping
--------- end ----------
msg='我的名字叫%s 我的年龄%s 我的学习进度是0.5%%.' %('tom',22)
print(msg,type(22))
我的名字叫tom 我的年龄22 我的学习进度是0.5%. <class 'int'>
流程控制 – while循环
1,初识循环
while True:
print(‘海草’)
print(‘女儿情’)
print(‘二泉映月’)
print(‘牧马城市’)
如何终止循环
‘’’
1,改变条件。
2,break
3,调用系统命令:quit() exit() (不建议使用)
‘’’
flag = True
while flag:
print('海草')
print('女儿情')
flag = False
print(111)
print(222)
ps:20行并没有跳出循环体!!!
所以仍然要执行!
例题1. 从 1 ~ 100 利用while循环
count = 1
while count < 101:
print(count)
count = count + 1
例题2. 打印数字1~100的偶数
第一种:```
count = 1
while count <= 100:
if count%2 == 0:
print(count)
count += 1
第二种:
count = 2
while count < 101:
print(count)
count += 2
# 例题3. 计算1+2+3+4+......+100的结果!!!!
s1 = 0
count = 1
while count <101:
s1 = count + s1
count += 1
print(s1)
# while break continue 三者之间的关系
break:循环中遇到break 直接退出循环,
while True:
print(222)
print(333)
break
print(555)
print(666)
continue:结束本次循环,继续下一次循环
while True:
if
print(111)
print(222)
continue
print(333)
固定搭配: 循环只要被break打断,则就不会执行else的程序。
while else
count = 1
while count < 5:
count = count + 1
print(count)
else:
print(666)
count = 1
while count < 5:
count = count + 1
print(count)
if count == 10:
break
else:
print(666)
# 运算符
算术运算,赋值运算,比较运算,身份运算,位运算,逻辑运算等等。
算数运算: + - * / % ** //
比较运算: == > < >= <= !=
赋值运算: = += -= *= /= ....
count = count + 1 count += 1
逻辑运算:and or not
成员运算:in not in
## 算数运算符arithmetic operator:
+ - * / %
% : 取余,取模。取的是第一个操作数和第二个操作数除法的余数。整除结果为0.
% 真正操作步骤:
1.用第一个数除以第二个数,得到最相近的两个商。取最小的数。
2.用第一个数减去第二个数和第一步的到的数的乘积。
10 % 3 10-(3*3)= 1
10 % 5 0
10 % -3 10-(-3**(-4)) =-2
10 % -5 ?
-10%3 ?
## 赋值运算符assignment operator:
基本的赋值运算符:=
扩展的赋值运算符:
+= -= *= /= %=
例如:X += Y -> X = X + Y
## 逻辑运算符
not and or
优先级: not>and>or,同一个优先级从左至右一次计算。
逻辑运算符的结果到底是什么类型???
结果取决于两个操作数的类型!!!
针对and操作:第一个操作数如果是可以转成False的话,那么第一个操作数的值,就是整个逻辑表达式的值。
如果第一个操作数可以转成True,第二个操作数的值就是整个表达式的值。
针对or操作:第一个操作数如果是可以转成False的话,第二个操作数的值就是整个表达式的值。
如果第一个操作数可以转成True, 第一个操作数的值,就是整个逻辑表达式的值。
例题1:
print(1 > 2 or 3 < 4 and 1 < 2 or 3 > 7)
print(1 > 2 or True or 3 > 7)
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 <10)
例题2:
print(bool(3))
print(1 or 3)
print(2 or 3)
print(10 or 3)
print(0 or 3)
print(-3 or 3)
print(1 and 3)
print(-1 and 3)
print(0 and 3)
思考题:
print(1 > 2 or 3 and 4 < 5 or 7)
## 成员运算符
in not in
a = 'tangyuan'
b = 'tag'
print((b not in a))
>>> True
## 比较运算符compare operator:
<= >= == !=
比较运算符的结果始终是布尔类型。