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 ...
随机推荐
- PyCharm创建虚拟环境 和 TVTK库的安装
注:示例系统环境:Windows10 64位 + Anaconda3: 昨天安装TVTK库遇到些麻烦,当时随便将库下到个文件夹安装后(没找到VENV文件夹...), 进行测试:from tvtk.to ...
- BZOJ4321:queue2(DP)
Description n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行.现在想知道,存在多少方案满足沙茶们如此不苛刻 ...
- TP框架---Model模型层---做模型对象
TP框架----Model模型层---------------做模型对象 Model模型层是用来做什么的呢???? 主要是用来做操作数据库访问的. 也就说明TP框架自带了一种访问数据库的方式,使用的是 ...
- 浅谈MVP架构及开发模式
Model-View-Presenter(MVP)概述 MVC模式已经出现了几十年了,在GUI领域已经得到了广泛的应用,由于微软ASP.NET MVC Framework的出现,致使MVC一度成 ...
- Infiniband基本知识
InfiniBand架构是一种支持多并发链接的“转换线缆”技术,在这种技术中,每种链接都可以达到2.5 Gbps的运行速度.这种架构在一个链接的时候速度是500 MB/秒,四个链接的时候速度是2 GB ...
- IntelliJ IDEA SVN无法正常使用问题
SVN checkout时候会出现错误:Cannot run program "svn" (in directory "E:\Projects"): Creat ...
- 【luogu P1156 垃圾陷阱】 题解
题目链接:https://www.luogu.org/problemnew/show/P1156 设\(dp[i][j]\)表示前i堆到达高度j时的所活最长时间 那么一旦到当前状态能到达满足的时间和高 ...
- Linux下jmap命令查看内存使用
Linux下jmap命令查看内存使用 jmap -heap 1234(1234为进程号) jmap是JDK自带的一个工具,非常小巧方便,其支持参数如下: -heap 打印heap空间的概要 ...
- 面试 : C语言 功底 被 鄙视了
第一道:被鄙视 的 C语言语法问题 请看 下面 程序 : 错误程序: void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( ...
- JS常见算法题目
最近收集了几个经典JS题目,比较有代表性,分享一下: 1.xiaoshuo-ss-sfff-fe 变为驼峰xiaoshuoSsSfffFe function getCamelCase(str ...