学习目标:
掌握Python基础知识
学习内容:
1、 条件语句
2、 循环语句
学习产出:
1.1.if 语句
语法结构
if expression:
expr_true_suite
-
if 语句的 expr_true_suite 代码块只有当条件表达式 expression
结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。 -
单个 if 语句中的 expression 条件表达式可以通过布尔操作符 and,or和not 实现多重条件判断。
#如果2大于1并且2不大于3,输出结果
if 2 > 1 and not 2 > 3:
print('Correct Judgement!')
1.2.if - else 语句
语法结构
if expression:
expr_true_suite
else:
expr_false_suite
- 如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
if 2 > 5:
print('Correct Judgement!')
else
print('False Judgement!')
- if语句支持嵌套,即在一个if语句中嵌入另一个if语句,从而构成不同层次的选择结构,但是要注意的是,python没有花括号的限制,所以要特别注意格式问题
if 2 > 1:
if 4>2:
print('Correct Judgement!')
else
print('False Judgement!')
1.3.if - elif - else 语句 语句
语法结构
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
.
.
elif expressionN:
exprN_true_suite
else:
expr_false_suite
- elif 语句即为 else if,用来检查
多个表达式是否为真
,并在为真时执行特定代码块中的代码。
#猜数字
temp = input('游戏开始!请输入您猜的数字:')
source = int(temp)
if source < 10:
print("Bigger numbers")
elif source == 52:
print("correct game over!")
1.4.assert 关键词
assert
这个关键词意“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError
的异常。
assert 3 > 7
# AssertionError
2.1.while 循环
语法结构
while 布尔表达式:
代码块
- while语句最基本的形式包括一个位于顶部的
布尔表达式
,一个或多个属于while代码块的缩进语句 - 如果布尔表达式不带有<、>、==、!=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的
#猜数字进阶版
count = 0
while count < 3:
temp = input('游戏开始!请输入您猜的数字:')
source = int(temp)
if source < 10:
print("Bigger numbers")
elif source == 52:
count = 4
print("correct game over!")
else:
print("Small numbers")
count = count + 1
- while循环也可以用来遍历字符串
ite = iter("abcd")
while True:
try:
each = next(ite)
except StopIteration:
break
print(each)
2.2.while-else 循环
语法结构
while 布尔表达式:
代码块
else:
代码块
- 当while循环正常执行完的情况下,执行else输出,如果while循环中执行了
跳出循环
的语句,比如 break,将不执行else代码块的内容。
num = 0
while num <= 5:
num = num + 1
print(num)
else:
print("enough")
2.3.for 循环
语法结构
for 迭代变量 in 可迭代对象:
代码块
- for循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,也可以遍历任何可迭代对象,每次循环,迭代变量被设置为可迭代对象的当前元素,提供给代码块使用。
#遍历字符串
str="python"
for i in str:
print(i)
#遍历list列表
member = ['张三', '李四', '刘德华', '刘六', '周润发']
for i in member:
print(i)
#遍历字典
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for i,y in dic.items():
print(i,y)
2.4.for-else 循环
语法结构:
for 迭代变量 in 可迭代对象:
代码块
else:
代码块
- 当for循环正常执行完的情况下,执行else输出,如果for循环中
执行了跳出循环
的语句,比如 break,将不执行else代码块的内容,与while - else语句一样
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
for i,y in dic.items():
print(i,y)
else:
print("over")
2.5.range()函数
语法结构:
range([start,] stop[, step=1])
第一个参数的默认值是1
第二个参数是结尾
第三个可以设置步长值
# 包前不包后,不包含9
for i in range(2, 9):
print(i)
#包前不包后,步长为2
for i in range(1, 10, 2):
print(i)
2.6.enumerate()函数
语法结构
enumerate(sequence, [start=0])
- enumerate()函数通常与for循环结合使用,主要作用是为列表增加一个下标值(
默从0开始
)
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
#设置第二个参数,下标从设置的开始算起
lst = list(enumerate(seasons, start=1))
print(lst)
#与for循环结合使用
languages = ['Python', 'R', 'Matlab', 'C++']
for i, language in enumerate(languages):
print(i, 'I love', language)
print('Done!')
2.7.break/continue 语句
break
可以跳出当前所在层的循环。
continue
终止本轮循环并开始下一轮循环。
break的使用方法
import random
secret = random.randint(1, 10) #[1,10]之间的随机数
while True:
temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp)
if guess > secret:
print("大了,大了")
else:
if guess == secret:
print("你太了解小姐姐的心思了!")
print("哼,猜对也没有奖励!")
break
else:
print("小了,小了")
print("游戏结束,不玩儿啦!")
continue的使用方法
for i in range(10):
if i % 2 != 0:
print(i)
continue
i += 2
print(i)
数据及代码源于"AI训练营Python-阿里云天池"