1.布尔值
True
False
> spam = True #布尔值可以在表达式中也可以保存在变量中
2.比较操作符
== 等于
!= 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于
3.布尔操作符
and or not
True and True True
True and False False
False and True False
False and False False
True or True True
True or False True
False or True True
False or False False
not True False
not False True
4.代码块
一些代码可以放在一起作为一组,放在'代码块'中,根据代码的缩进知道代码的开始和结束。代码块有三条规则:
- 1.缩进增加时,代码块开始。
- 2.代码块可以包含其他代码块。
- 3.缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束了。
5.if语句
if(关键字) + 条件判断语句(True False表达式)+ :
缩进 代码块
例如:
if name == 'Alice':
print('Hi Alice')
6.else和elif语句
if 子句后面可以直接跟else ,只有当 if条件语句为False时才会执行else子句
if name == 'Alice'
print('Hi Alice')
else:
print('Hi Bob')
有时候希望许多可能的子句中一个被执行,elif '否则如果的意思'elif总是跟在if后面或者另外一条elif后面 只有当前面的条件为False时才会被执行,elif 的写法跟上面的一样
if name == 'Alice':
print('Hi, Alice.')
elif age < 12:
print('You are not Alice, kiddo.')
只有当age < 12 为 True and name =='Alice'为 False 时elif 子句才会被执行
如果有多条elif语句 只有一条或者零条会被执行,一旦一个语句的条件为 True 其他的elif子句则会被跳过,它是按照代码块的顺序逐步检查的,这样就会有个缺陷(代码块的顺序会直接影响执行结果)
在英语中,这类控制流结构会使得:“如果第一个条件为真,做这个。否则,如果第二个条件为真,做那个。否则,做另外的事。”如果你同时使用这 3 个语句,要记住这些次序规则。
7.while循环
利用while循环可以让代码一遍又一遍的执行,只有while的条件为True,while子句中的代码块就会一直被执行,这种在实际工作中用的并不多
num = 0
while num <=5:
print("我是英雄")
num += 1
name = ' '
while name != 'Li zhidong':
print("我是英雄")
name = input()
print('Thank You!')
这个循环会让用户一直输入name 只有输入的名字是对的,猜一个人的名字是很难的,除非你是我,所以我们可以在输入一次后让程序中断或者跳过,这样就有了 break 和continue
8.break语句
break 语句可跳出当前循环子句
略微修改一下上面的代码
while True:
print('请输入你的外号')
name = input()
if name == 'lizhidong':
print('You are right')
break #用户只输入一次
print('Thank You')
while True:
print('请输入你的外号')
name = input()
if name == 'lizhidong':
print('You are right')
break #直到用户输入的name为lizhidong才会跳出
print('Thank You')
9.continue语句
和break一样,coontinue语句用于循环内部,如果程序遇到continue就会马上跳到循环开始处,重新对循环条件进行判断(这也是执行到达循环末尾时发生的事情)。
while True:
print('Who are you?')
name = input()
if name != 'Joe':
continue
print('Hello, Joe. What is the password? (It is a fish.)')
password = input()
if password == 'Joe':
break
print('Access granted.')
这个程序不太对 完了再看看
10.for循环和range()函数
在条件为 True 时,while 循环就会继续循环(这是它的名称的由来)。但如果你想让一个代码块执行固定次数,该怎么办?可以通过 for 循环语句和 range()函数来实现
先看下'类真'和'类假'的值:
- 其他数据类型中的某些值,条件认为它们等价于 True 和 False。在用于条件时,0、0.0 和' '(空字符串)被认为是 False,其他值被认为是 True。
name = ''
while not name: #not 空 为True
print("Enter you name")
name = input()
print('How many guests you have?')
numOfGuests = int(input())
if numOfGuests: # 数字为True
print('Be sure to have enough room for all your guests.')
print('Done')
- Enter you name
- How many guests you have?
- Be sure to have enough room for all your guests.
- Done
for循环写法:
for i in range(5):
print(i)
也可以在循环中使用 continue 语句。continue 语句将让 for 循环变量继续下一个值,就像程序执行已经到达循并返回开始一样。实际上,只能在 while 和for 循环内部使用 continue 和 break 语句。如果试图在别处使用这些语句,Python 将报错
用for循环来实现从0加到100:
num = 0
for i in range(101): #range函数包前不包后
num += i
print(num)
range()函数可以给他三个参数 分别是开始 结束和步长
for i in range(1,10,2):
print(i)
for i in range(6,0,-2):
print(i)
- 6
- 4
- 2
11.模块
模块就是一个程序包可以包含很多函数,也称为标准库:
random.randint()函数调用求值为传递给它的两个整数之间的一个随机整数。因为 randint()属于 random 模块,须在函数名称之前先加上 random.,告诉 python 在random 模块中寻找这个函数
导入模块:from import 或者import
import 语句的另一种形式包括 from 关键字,之后是模块名称,import 关键字和一个星号,例如
from random import *。使用这种形式的 import 语句,调用 random模块中的函数时不需要 random.前缀。但是,使用完整的名称会让代码更可读,所以最好是使用普通形式的 import 语句
12.用sys.exit()提前结束程序
如何终止程序 当程序执行到指令底部时程序就会终止,通过调用exit()函数可以让程序提前终止或者退出
import sys
while True:
print('Type exit to txit')
egg = input()
if egg == 'exit':
sys.exit()
print('You are beautiful')
# 在ipython环境下会出现警告
13.练习
spam = int(input())
if spam == 1:
print('One')
elif spam == 2:
print('Two')
else:
print('啥也不是')
编写一小段程序,利用 for 循环,打印出从 1 到 10 的数字。然后利用 while循环,编写一个等价的程序,打印从 1 到 10 的数字。
for i in range(1,11):
print(i)
n = 1
while n < 10:
n +=1
print(n)
round()和 abs()函数