(一)if 语句

if语句

people = 20
cats = 30
dogs = 15if people < cats:print("Too many cats,The world is doomed")
if people > cats:print("Not mangy cats! The world is saved!")if people < dogs:print("The world is drooled on!")if people >dogs:print("The world is dry!")dogs +=5if people >=dogs:print("People are greater than or equal to dogs.") if people <=dogs:print("People are less than or equal to dogs.")if people ==dogs:print("People are dogs.")

运行的结果:

Too many cats,The world is doomed
The world is dry!
People are greater than or equal to dogs.
People are less than or equal to dogs.
People are dogs.
[Finished in 1.4s]

上面有if代码块,if代码块创建了一个分支;按照python语法要求必须缩进4个空格,这是告诉python创建了新的代码块。如果添加上elif,else等。

Else和if

people = 30
cars =40
trucks = 15if cars > people:print("We should take the cars.")
elif cars < people:print("We should not take the cars.")
else:print("We cat't decide.")if trucks >cars:print("That too many trucks!")
elif trucks < cars:print("Maybe we could take the trucks!")
else:print("We still can't decide!")if people > trucks:print("Alright, let's just take the trucks.")
else:print('Fine, let\'s  stay home then')

运行的结果:

We should take the cars.
Maybe we could take the trucks!
Alright, let's just take the trucks.
[Finished in 132ms]

注意:if-elif-else语句,python从顶部开始,只运行第一个True的代码块,其他的就不运行了;所以如果需要每个条件都需要做出判断的情况下,可以使用多个if条件,像上面的多个if语句。

IF嵌套使用

print("""You enter a dark room with two doors.
Do you go through door #1 or door #2?""")door = input(">")if door =='1':print("There's a giant bear here eating a cheese cake.")print("What do you do?")print("1,Take the  cake.")print("2,Scream at the bear.")bear = input(">")if bear =='1':print("The bear eats your face off.Good job!")elif bear =='2':print("The bear eats your legs off.Good job!")else:print(f"Well,doing {bear} is probably better.")print("Bear runs away.")elif door=='2':print("You stare into the endless abyss at Cthulhu's retina.")print("1,Blueberries.")print("2,Yellow jacket clothespins.")print("3,Understanding revolvers yelling melodies.")insanity = input(">")if insanity =='1'or insanity =='2':print("Your body survies powered by a mind of jello.")print("Good job!")else:print("You stumble around and fall on a knife and die. Good job!")

运行的结果:

You enter a dark room with two doors.
Do you go through door #1 or door #2?
>1
There's a giant bear here eating a cheese cake.
What do you do?
1,Take the  cake.
2,Scream at the bear.
>2
The bear eats your legs off.Good job!

sublime text无法完成交互,使用终端解决交互的问题。

(二)FOR语句

the_count = [1,2,3,4,5]
fruits = ['apples','oranges','pears','apricots']
change = [1,'pennies',2,'dimes',3,'quarters']#this first kind of for-loop goes through a list
for number in the_count:print(f"This is count {number}")#same as above
for fruit in fruits:print(f"A fruit of type {fruit}")# also we can go through mixed lists too
# notice we have to use {} since we don't know what's in it
for i in change:print(f"I got {i}")#we can also build lists, first start with an empty one
elements = []# then use the range function to do 0 to 5 counts
for i in range(0,6):print(f"Adding {i} to the list.")
# append is a function that lists understandelements.append(i)# now we can print them out too
for i in elements:print(f"Elements was: {i}")

运行的结果:

This is count 1
This is count 2
This is count 3
This is count 4
This is count 5
A fruit of type apples
A fruit of type oranges
A fruit of type pears
A fruit of type apricots
I got 1
I got pennies
I got 2
I got dimes
I got 3
I got quarters
Adding 0 to the list.
Adding 1 to the list.
Adding 2 to the list.
Adding 3 to the list.
Adding 4 to the list.
Adding 5 to the list.
Elements was: 0
Elements was: 1
Elements was: 2
Elements was: 3
Elements was: 4
Elements was: 5
[Finished in 116ms]

注意for 语句的遍历,以及函数range的用法,注意点。

(三)while语句

i = 0
numbers = []while i < 6:print(f"At the top i is {i} ")numbers.append(i)i +=1print("Numbers now:",numbers)print(f"At the bottom i is {i}")
print("The numbers:")
for i in numbers:print(i)

运行的结果:

At the top i is 0
Numbers now: [0]
At the bottom i is 1
At the top i is 1
Numbers now: [0, 1]
At the bottom i is 2
At the top i is 2
Numbers now: [0, 1, 2]
At the bottom i is 3
At the top i is 3
Numbers now: [0, 1, 2, 3]
At the bottom i is 4
At the top i is 4
Numbers now: [0, 1, 2, 3, 4]
At the bottom i is 5
At the top i is 5
Numbers now: [0, 1, 2, 3, 4, 5]
At the bottom i is 6
The numbers:
0
1
2
3
4
5
[Finished in 133ms]

分支和函数

from sys import exit
def gold_room():print("This room is full of gold. How much do you take?")choice = input('>')if '0' in choice or '1' in choice:how_much = int(choice)else:dead("Man,learn to type a number.")if how_much <50:print("Nice,you're not greedy,you win!")exit(0)else:dead("You greedy bastard!")
def bear_room():print('There is a bear here.')print("The bear has a bunch of honey.")print("The fat bear is in front of another door.")print("How are you going to move the  bear?")bear_moved =Falsewhile True:choice = input('>')if choice =='take honey':dead("The bear looks at you then slaps your face")elif choice =="taunt bear" and not bear_moved:print("The bear has moved from the door.")print("You can go through it now.")bear_moved = Trueelif choice=="taunt bear" and bear_moved:dead("The bear gets pissed off and chews your leg.")elif choice=="open door" and bear_moved:gold_room()else:print("I got no idea what that means.")def cthulhu_room():print("Here you see the great evil Cthulhu")print("He,it,whatever strats at you and you go insane")print("Do you flee your life or eat your head?")choice = input(">")if 'flee' in choice:strat()elif 'head' in choice:dead("Well that was tasty!")else:cthulhu_room()def dead():print(why,"Good job!")exit(0)def start():print("You are in a dark room.")print("There is a door to your right and left.")print("Which one do you take?")choice = input('>')if choice =='left':bear_room()elif choice =='right':cthulhu_room()else:dead("You stumble around the room until you starve.")start()

运行的结果:

You are in a dark room.
There is a door to your right and left.
Which one do you take?
>left
There is a bear here.
The bear has a bunch of honey.
The fat bear is in front of another door.
How are you going to move the  bear?
>taunt bear
The bear has moved from the door.
You can go through it now.
>open door
This room is full of gold. How much do you take?
>1000
You greedy bastard! Good job!

理解这个游戏中的逻辑。

第六章、FOR、IF和while相关推荐

  1. 王道考研 计算机网络笔记 第六章:应用层

    本文基于2019 王道考研 计算机网络: 2019 王道考研 计算机网络 个人笔记总结 第一章:王道考研 计算机网络笔记 第一章:概述&计算机网络体系结构 第二章:王道考研 计算机网络笔记 第 ...

  2. JavaScript高级程序设计(第3版)第六章读书笔记

    第六章 面向对象的程序设计 1. 数据属性 [[Configurable]]:表示能否通过delete删除属性从而重新定义属性.默认值为true. [[Enumerable]]:表示能否通过for-i ...

  3. 数字图像处理——第六章 彩色图像处理

    数字图像处理--第六章 彩色图像处理 文章目录 数字图像处理--第六章 彩色图像处理 1 彩色模型 1.1 RGB彩色模型 1.2 CMY 和CMYK彩色模型 1.3 HSI彩色模型 2 伪彩色图像处 ...

  4. java三维滑雪,第六章 三维数据空间分析方法.ppt

    第六章 三维数据空间分析方法 * * * * 可视性分析 * * 自然邻域法插值 基本思路: 利用输入点及邻近栅格单元进行插值生成栅格表面. 方法: 利用输入数据点(样本点)为节点,建立Delauna ...

  5. Knockout应用开发指南 第六章:加载或保存JSON数据

    原文:Knockout应用开发指南 第六章:加载或保存JSON数据 加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地 ...

  6. ASP.NET2.0自定义控件组件开发 第六章 深入讲解控件的属性

    深入讲解控件的属性持久化(一) 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接着待续 ASP.NET自定义控件组件开发 第一章 第 ...

  7. 机器学习-第六章 支持向量机(SVM)

    机器学习-第六章 支持向量机(SVM) D系鼎溜关注 2020.02.09 21:19:41字数 1,131阅读 458 6.1 间隔与支持向量 开倍速观看视频之后,对课本所说的会更加了解. 支持向量 ...

  8. 第六章 非编码RNA鉴定

    第六章 非编码RNA鉴定  阅读量: 154 主要为RNA-seq相关知识,部分内容作笔记自查使用.如有错误或遗漏还请海涵,可评论或邮箱联系. 最后修改时间:2020-09-07 14:38:07 星 ...

  9. 谭浩强c语言第六章兔子数列,谭浩强 C语言 第6章_循环.ppt

    谭浩强 C语言 第6章_循环 第六章 本章要点 循环的基本概念 不同形式的循环控制 多重循环问题 主要内容 6.1 概述 6.2 goto语句以及用goto语句构成循环 6.3 用while语句实现循 ...

  10. 北电ERS1600,8300,8600交换机的基本技术-第六章 二层冗余技术(MLT,SMLT,IST)

    第六章 二层冗余技术(MLT,SMLT,IST) 这里只介绍北电独有的MLT ,SMLT 和IST.这些是二层的冗余协议: MLT:多链路中继,将多条链路模拟成一条链路 SMLT: 分离的多链路中继, ...

最新文章

  1. AI:2020年6月22日北京智源大会演讲分享之机器感知专题论坛—13:30-14:10山世光教授《从看脸到读心:基于视觉的情感感知技术》
  2. 面试官问我会不会APP抓包,我..
  3. android 自定义键盘字体大小,android.inputmethodservice.KeyboardView 自定义键盘 字体大小设置...
  4. 解调去载波后均衡信道与实际信道的关系
  5. asp.net 写入html代码,asp.net读取模版并写入文本文件
  6. 11月4日,上海开源基础设施峰会,不见不散!
  7. python 画线条进行到指定区域更改颜色,使用Colormaps在matplotlib中设置线条的颜色...
  8. python 面试必问,不会真的要打脸~
  9. mysql使用innodb需要注意的情况
  10. python大括号_python大括号 Python中小括号中括号大括号怎么用?
  11. 台式计算机怎么换内存条,笔者教你如何更换电脑内存条
  12. 百度世界2020技术“大阅兵”背后的营销战役
  13. 通过拉勾网分析数据分析职位现状
  14. 不义联盟网站无法连接服务器,不义联盟2总是显示无法连接网络
  15. [转帖] 李竞恒:帝国的残阳
  16. flowable实战(二)flowable流程模型管理接口
  17. 【XJTUSE软件项目管理复习笔记】 第二章 软件项目整体管理
  18. 信息学奥赛一本通C++语言——1058:求一元二次方程
  19. 为您员工远程工作执行BYOD策略保驾护航
  20. C语言可以敲哪些小游戏,C语言可以写哪些小游戏?

热门文章

  1. 行车记录仪冲刺前装450万台,小鹏G9紧急开发功能
  2. 项目依赖关系分析中的数据结构
  3. 电商 lamp java_搭建LAMP环境部署Ecshop电商网站
  4. Qt 使用阿里云字体图标
  5. 一招解决win11系统字体模糊发虚不清楚的问题
  6. mysql php 列转行_MySql行转列、列转行
  7. 0.linux中英文环境的切换
  8. C++ Primer Plus (第六版)编程练习记录(chapter7)
  9. Ubuntu !生命不息,折腾不止!
  10. 生命不息,折腾不止~Vim编辑器,插件,编译,补全配置(2018)