day5 if while for
.注意点:
ctrl + n 自动补全
18行报错,直接定位18行
逻辑运算符and or not
复合赋值运算符 += .if-elif
判断星期几
猜拳游戏 .while循环
)3大执行流程
)什么是 正规写法??
)while的正规格式 嵌套(常见的就嵌套1个)
) if嵌套
)if-elif 嵌套 .while嵌套
)案例1:转圈
) 打印三角形
2.1)打印矩形
)九九乘法表
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 = if not (a> and a<=):
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) #结果
python@ubuntu:~/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
day5 if while for的更多相关文章
- day5
作业 作业需求: 模拟实现一个ATM + 购物商城程序 额度 15000或自定义 实现购物商城,买东西加入 购物车,调用信用卡接口结账 可以提现,手续费5% 每月22号出账单,每月10号为还款日,过期 ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- 冲刺阶段 day5
day5 项目进展 今天我们组的成员聚在一起进行了讨论,首先我们继续编写了学生管理这部分的代码,然后负责数据库的同学完成了数据库的部分,最后进行了学生管理这部分的代码复审 存在问题 因为代码不是一天之 ...
- python笔记 - day5
python笔记 - day5 参考: http://www.cnblogs.com/wupeiqi/articles/5484747.html http://www.cnblogs.com/alex ...
- python_way ,day5 模块,模块3 ,双层装饰器,字符串格式化,生成器,递归,模块倒入,第三方模块倒入,序列化反序列化,日志处理
python_way.day5 1.模块3 time,datetime, json,pickle 2.双层装饰器 3.字符串格式化 4.生成器 5.递归 6.模块倒入 7.第三方模块倒入 8.序列化反 ...
- Spark菜鸟学习营Day5 分布式程序开发
Spark菜鸟学习营Day5 分布式程序开发 这一章会和我们前面进行的需求分析进行呼应,完成程序的开发. 开发步骤 分布式系统开发是一个复杂的过程,对于复杂过程,我们需要分解为简单步骤的组合. 针对每 ...
- Catalyst揭秘 Day5 optimizer解析
Catalyst揭秘 Day5 optimizer解析 Optimizer是目前为止中catalyst中最重要的部分.主要作用是把analyzed logicalPlan变成optimized Log ...
- Kakfa揭秘 Day5 SocketServer下的NIO
Kakfa揭秘 Day5 SocketServer下的NIO 整个Kafka底层都是基于NIO来进行开发的,这种消息机制可以达到弱耦合的效果,同时在磁盘有很多数据时,会非常的高效,在gc方面有非常大的 ...
- Spark Streaming揭秘 Day5 初步贯通源码
Spark Streaming揭秘 Day5 初步贯通源码 引子 今天,让我们从Spark Streaming最重要的三个环节出发,让我们通过走读,逐步贯通源码,还记得Day1提到的三个谜团么,让我们 ...
- Day5 - Python基础5 常用模块学习
Python 之路 Day5 - 常用模块学习 本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...
随机推荐
- python虚拟环境virtualenv高级篇
我曾经写过一篇virtualenv的博客:http://www.cnblogs.com/anpengapple/p/5907416.html 总体来讲还是适用的,不过稍微傻了一点.这一篇的内容有两个: ...
- iOS动画的逻辑结构:动画的定义--动画是采用连续播放静止图像的方法产生物体运动的效果。
动画的定义:视图+时间+空间+速度 视图信息的时空变换: 视图组的按时间逐帧展示: Core Animation 类的继承关系图 各类常用属性 CAMediaTiming:CALayer和Core A ...
- 真实世界中的 Swift 性能优化
那么有什么因素会导致代码运行缓慢呢?当您在编写代码并选择架构的时候,深刻认识到这些架构所带来的影响是非常重要的.我将首先谈一谈:如何理解内联.动态调度与静态调度之间的权衡,以及相关结构是如何分配内存的 ...
- POJ3347 Kadj Squares
嘟嘟嘟 题意:给出一堆正方形的边长,且这些正方形都是\(45 ^ {\circ}\)斜放着并且紧挨着的,求从上往下看能看到几个正方形. 真是一道好题--跟计算几何关系不大. 想一下,如果我们能求出正方 ...
- 【jQuery】cookie插件
通过该插件的学习使我对cookie.Date().getDate().setDate().toUTCString()有了更直观的了解,具体分析见注释: function(key, value, opt ...
- 28、springboot整合RabbitMQ(2)
1.监听 1.1.监听队列 如订单系统和库存系统 订单系统下订单之后将消息存放在消息队列中 库存系统需要时刻进行监听消息队列的内容,有新的订单就需要进行库存相关的操作 此时模拟监听消息队列中的Bo ...
- AFSoundManager
iOS audio playing (both local and streaming) and recording made easy through a complete and block-dr ...
- BLE CC2541 串口BootLoader 即 SBL BootLoader 资料 收集
1.[CC254X_Bootloader]SBL(串口Bootloader)使用说明 2.CC2540协议栈高速串口通信解决(UART的DMA方式) 3.[BLE]CC2541之SBL 4.[BLE] ...
- linux内存管理---物理地址、线性地址、虚拟地址、逻辑地址之间的转换
linux内存管理---虚拟地址.逻辑地址.线性地址.物理地址的区别(一) 这篇文章中介绍了四个名词的概念,下面针对四个地址的转换进行分析 CPU将一个虚拟内存空间中的地址转换为物理地址,需要进行两步 ...
- vue中通过定义的数组循环将img的src引入图片却不显示图片问题解决方法
需要前端循环图片数组将其放到页面中去. 需要将src渲染到页面中,如果单纯写src的路径会出现不显示图片的问题 因为图片路径在assets,所以需要require一下.