day5 if while for
1.注意点: ctrl + n 自动补全 18行报错,直接定位18行 逻辑运算符and or not 复合赋值运算符 += 2.if-elif 判断星期几 猜拳游戏 3.while循环 1)3大执行流程 2)什么是 正规写法?? 3)while的正规格式 4 嵌套(常见的就嵌套1个) 1) if嵌套 2)if-elif 嵌套 5.while嵌套 1)案例1:转圈 2) 打印三角形 2.1)打印矩形 3)九九乘法表
1.逻辑运算符
1.1 注意点:
-
-
- ctrl + n 自动补全
-
-
-
- 18行报错,直接定位18行
-
1.2 逻辑运算符and
#下面的代码,不会因为上面的5行的if条件满足或者不满足而不一样,即,他们之间没有任何关系
#-*- coding:utf-8 -*- #1. input 获得输入 color = input("你白吗?") #白或者黄 money = int(input("你的财产总和:")) #输入10000 beautiful = input("你美吗?") #美 或者普通 #2 if进行判断 # if 白 并且 富 并且 美 # if 白 and 富 and 美 if color == "白" and money >= 1000000 and beautiful == "美": print("白富美。。。") print("好羡慕。。。") else: print("矮穷矬") print("多读书。。。") #下面的代码,不会因为上面的5行的if条件满足或者不满足而不一样,即,他们之间没有任何关系 print("多读书。。。") print("多读书。。。")
1.3 逻辑运算符or
you = input("你去么?") # 去或者不去 yourWife = input("你老婆去么?") #去或者不去 #if you=="去" 或者 yourWife=="去": if you=="去" or yourWife=="去": print("可以成功的办好某件事情....")
1.4 逻辑运算符not
a = 30 if not (a>0 and a<=50): print("在0到50之间....")
1.5 复合赋值运算符
j = j+3 #c语言中让j加上1的方式:j++;++j; j+=1; j=j+1 #python j+=1 j=j+1
菜鸟写法,忘记它
难点:
In [20]: a = 1 In [21]: a += 2-4+-2+4+3 In [22]: a Out[22]: 4 In [23]: a += 2-4+-2+4+3 ----> a = a+(2-4-2+4+3)
2.if-elif
#一种情况 if 条件: xxxx #2种情况 if 条件: xxxx1 else: xxxx2 #多种情况,一种成立,其他不会执行 if 条件1: xxxx1 elif 条件2 xxxxx2 elif 条件3: xxxx3 。。。。。。。。。 else: #####(处理,不确定的因素) xxxxx
sex = input("请输入你的性别:") if sex == "男": print("你是男人,可以留胡子") elif sex == "女": print("你是女的,可以穿裙子") else: #elif sex == "中性": print("你是中性人,do everything")
2)if 应用
判断星期几
#1.获取用户输入的数据 num = int(input("请输入数字1-7:")) #2.根据用户输入的,进行判断 if num == 1: print("今天是星期1") elif num == 2: print("今天是星期2") elif num == 3: print("今天是星期3") elif num == 4: print("今天是星期4") elif num == 5: print("今天是星期5") elif num == 6: print("今天是星期6") elif num == 7: print("今天是星期7") else: print("你输入的不正确,请重新输入")
猜拳游戏
根据运行结果,****,写出程序
#1.玩家输入信息
player = int(input("请输入:剪刀0|石头1|布2"))
#2 电脑输入的信息
computer = 1
#2.根据玩家输入的,进行判断
#if 玩家获胜条件
if (player==0 and computer==2) or (player==1 and computer==0) or (player==2 and computer==1):
print("赢了,再来一把")
#if 玩家平局条件
elif player == computer:
print("平局,决战到天亮")
#if 玩家输了条件
else:
print("输了,回家拿钱去吧。。。")
随机数random
In [16]: import random
In [17]: random.randint(0,2) #0,1,2 随机整型数
Out[17]: 0
完整版本
#-*- coding:utf-8 -*-
import random
#1.玩家输入信息
player = int(input("请输入:剪刀0|石头1|布2:"))
#2 电脑输入的信息
computer = random.randint(0,2)
#2.根据玩家输入的,进行判断
#if 玩家获胜条件
if (player==0 and computer==2) or (player==1 and computer==0) or (player==2 and computer==1):
print("赢了,再来一把")
#if 玩家平局条件
elif player == computer:
print("平局,决战到天亮")
#if 玩家输了条件
else:
print("输了,回家拿钱去吧。。。")
3.while循环
1)3大执行流程
while 条件: 条件满足的时候执行的事情
2)什么是 正规写法??
#不正确写法 num = 1 print(num) #while 条件: while num <= 10: num = num + 1 print(num) #结果 [email protected]:~/pythonS6/python基础02$ python3 09-while.py 1 2 3 4 5 6 7 8 9 10 11
u 撤销
v 选定这行
> 向右移动tab
#正规写法 i = 1 while i <= 10: print(i) #先打印i i = i + 1 #再+1
3)while的正规格式
i = 1 while i <= 100: print("%d"%i) #等价于 print(i) i = i + 1 ''' while 格式 i = 1 while xxxxx: xfdaldfssaxx .... i = i + 1 #必须写这个 '''
4 嵌套(常见的就嵌套1个)
1) if嵌套
#1。是否有车票,刀子 ticket = 1 #1代表有票,0代表没票 knife_lenght = 12 #单位cm #2。先判断是否有车票,能进站bu if ticket == 1: print("通过了车票的检测,进入到车站,马上就要安检了.") #判断刀的长度是否合法 if knife_lenght <= 10 : print("通过了安检,进入到候车厅") print("马上就要回家,好高兴") else: print("安检没有通过,等待警察处理....") else: print("兄弟,你还没有买票=,先去买票去吧")
2)if-elif 嵌套
#1.用户输入性别 sex = input("输入你的性别 男|女 :") #2.如果是女的,判断白富美 if sex == "女": color = input("你白吗 白|不白?") rich = int(input("请输入你的账户余额:")) beautiful = input("你美吗 美|不美?") if color == "白" and rich >= 1000000 and beautiful == "美": print("白富美,你好。。。") else: print("矮穷矬,多读书。。。") #3.如果是男的,判断高富帅 elif sex == "男": color = input("你高吗 高|不高?") rich = int(input("请输入你的账户余额:")) beautiful = input("你帅吗 帅|不帅?") if color == "高" and rich >= 1000000 and beautiful == "帅": print("高富帅,你好。。。") else: print("矮穷矬,多读书。。。")
5.while嵌套
while 条件: 条件满足的时候执行的事情1 条件满足的时候执行的事情2 。。。。。 while 条件2: 条件2 满足的时候做的事情。。
1)案例1:转圈
#执行10遍 1.站起来 2.坐下 3.站起来 4.转10个圈 5。坐下 while 条件: 1.站起来 2.坐下 3.站起来 while 执行10次 4.转10个圈 5。坐下
2) 打印三角形
我咧擦,每次看这个都觉得好简单~~~ 然后就不动手,原来真难!!!
难--》那就庖丁解牛--》先完成简单的功能
好简单,好简单
#版本1 i = 1 while i <= 5: print("*****") #print("*"*5) 好简单 i = i+1 ***** ***** ***** ***** ***** 简直是偷懒至极的做法,要求只能用一个 * #版本2 i = 1 while i <= 5: print("*"*5) #好简单 i = i+1 #版本3 i = 1 while i <= 5: j = 1 while j <= 5: print("*") j = j+1 i = i+1 自以为这样就对了吧!!然而,原来打印完*,会自动换行 * * * * * *
#版本4 打印矩形 while i <= 5: j = 1 while j <= 5: print("*",end="") #打印*号,不换行 j = j+1 print("") i = i+1 #结果 ,到现在才完成了最简单的,太菜 ***** ***** ***** ***** *****
#版本5 i = 1 while i<= 5: num = int(input("请输入这行要打印的*的个数")) j = 1 while j <= num: print("*",end="") j += 1 print("") i += 1 #打印结果 请输入这行要打印的*的个数1 * 请输入这行要打印的*的个数2 ** 请输入这行要打印的*的个数3 *** 请输入这行要打印的*的个数4 **** 请输入这行要打印的*的个数5 *****
i = 1 while i <= 5: j = 1 while j <= i: #理解这句,最重要了!!! print("*",end="") j += 1 print("") i += 1
3)九九乘法表
我你个擦擦,完毛线,这个难的要命!!不论是c,java还是别的,就么写出来过
#版本1 #打印9行就行 * ** *** **** ***** ****** ******* ******** ********* ################## i = 1 while i <= 9: #打印9行就行 j = 1 while j <= i: print("*",end="") j += 1 print("") i += 1
#版本2 #打印*换成x*y=z) X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z X*Y=Z ################# i = 1 while i <= 9: j = 1 while j <= i: print("X*Y=Z ",end="") #打印*换成x*y=z) j += 1 print("") i += 1
#版本3 y换成i X*1=Z X*2=Z X*2=Z X*3=Z X*3=Z X*3=Z X*4=Z X*4=Z X*4=Z X*4=Z X*5=Z X*5=Z X*5=Z X*5=Z X*5=Z X*6=Z X*6=Z X*6=Z X*6=Z X*6=Z X*6=Z X*7=Z X*7=Z X*7=Z X*7=Z X*7=Z X*7=Z X*7=Z X*8=Z X*8=Z X*8=Z X*8=Z X*8=Z X*8=Z X*8=Z X*8=Z X*9=Z X*9=Z X*9=Z X*9=Z X*9=Z X*9=Z X*9=Z X*9=Z X*9=Z #################### i = 1 while i <= 9: j = 1 while j <= i: print("X*%d=Z "%(i),end="") j += 1 print("") i += 1
#版本4 j换成x 1*1=Z 1*2=Z 2*2=Z 1*3=Z 2*3=Z 3*3=Z 1*4=Z 2*4=Z 3*4=Z 4*4=Z 1*5=Z 2*5=Z 3*5=Z 4*5=Z 5*5=Z 1*6=Z 2*6=Z 3*6=Z 4*6=Z 5*6=Z 6*6=Z 1*7=Z 2*7=Z 3*7=Z 4*7=Z 5*7=Z 6*7=Z 7*7=Z 1*8=Z 2*8=Z 3*8=Z 4*8=Z 5*8=Z 6*8=Z 7*8=Z 8*8=Z 1*9=Z 2*9=Z 3*9=Z 4*9=Z 5*9=Z 6*9=Z 7*9=Z 8*9=Z 9*9=Z #################### i = 1 while i <= 9: j = 1 while j <= i: print("%d*%d=Z "%(j,i),end="") j += 1 print("") i += 1
#版本5 i*j 换成Z 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81 ########################### i = 1 while i <= 9: j = 1 while j <= i: print("%d*%d=%d "%(j,i,j*i),end="") j += 1 print("") i += 1
最终版本
i = 1 while i <= 9: j = 1 while j <= i: print("%d*%d=%d\t "%(j,i,j*i),end="") j += 1 print("") i += 1
#制表符 tab \t In [2]: print("helloworld") helloworld In [3]: print("hello\tworld") hello world