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 ...
随机推荐
- poj3718 Facer's Chocolate Dream
题目链接 正解:组合数+$dp$. 今天考试的题,考试的时候感觉自己有点脑残过头了.. 似乎发现了所有$1$其实都是一样的,然后不知道怎么强制每种物品只选一个.. 然后就写了一个所有物品可以选任意个的 ...
- 【OpenCV新手教程之十五】水漫金山:OpenCV漫水填充算法(Floodfill)
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/28261997 作者:毛星云( ...
- AESUtil 加密
package com.hxqc.basic.dependency.util; import org.apache.commons.lang.StringUtils; import sun.misc. ...
- PAT——1074. 宇宙无敌加法器(20)
地球人习惯使用十进制数,并且默认一个数字的每一位都是十进制的.而在PAT星人开挂的世界里,每个数字的每一位都是不同进制的,这种神奇的数字称为“PAT数”.每个PAT星人都必须熟记各位数字的进制表,例如 ...
- Visual Studio 2017 安装过程问题解决
VS已经发布了两三天了,我也着手安装,但是折腾了两个晚上,怎么都到不了安装界面(选择模块的界面),各种尝试,各种重启,也并不顶什么卵用~ 后来经过各种查LOG,发现我电脑访问不了https://dow ...
- SwaggerUI用户手册
SwaggerUI是一个非常好用的API文档工具,最关键的是他还能在工具内调试API,简直爽的不要不要的~网上针对开发者的文档非常多,但是给用户的手册却非常少.所以我来简单写个用户手册,供没有使用过s ...
- 关于restful开发的疑惑
if 你没有了解过restful return; 一.疑惑 restful风格开发是有争议的,restful的设计是请求“resource”,然后只能对“resource”做CRUD操作.抽象于这 ...
- Google Cloud Platform 续
Google Cloud Platform 创建新实例 地区:australia-southeast1-a 机器类型:1个vCPU n1-standard-1 系统:Ubuntu 16.04 LTS ...
- pt-archiver数据归档
可以使用percona-toolkit包中的pt-archiver工具来进行历史数据归档 pt-archiver使用的场景: 1.清理线上过期数据. 2.清理过期数据,并把数据归档到本地归档表中,或者 ...
- -L -Wl,-rpath-link -Wl,-rpath区别精讲
目录 前言 源码准备 源码内容 尝试编译,保证源码没有问题 编译 首先编译world.c 编译并链接hello.c 调试编译test.c 结论 转载请注明出处,谢谢 https://www.cnblo ...