流程控制 if/while/for


学前准备

print()语句的用法 , 知道end参数的作用

变量: 变量其实可以被理解为一个容器。变量是一个存储位置和一个关联的符号名字,这个存储位置包含了一些已知或未知的量或者信息,即值。Python里给变量赋值就是把对象放到变量关联的存储位置上。

缩进 : 用来标明成块的、同一级别的代码,推荐使用4个空格,不允许 tab 与 空格 混用

表达式: 表达式就是由操作数和运算符组成的一句代码或语句,表达式可以求值,可以放在“=”的右边,用来给变量赋值。

运算符: 赋值运算符、比较运算符、逻辑运算符

 


 

 

在Python中,流程控制有 if 、while 和 for 三个语句。

if语句:  根据不同的条件,执行不同的语句

其基本形式为:

if 判断条件:
    执行语句01……
    ......
elif 判断条件:
    执行语句11……
    ......
else: 
    执行语句11……
    ......
# 当判断条件成立时,则执行其后的语句,执行的语句可以有多行,使用缩进来区分表示同一级别的语句
# elif 可以存在0个或者多个
# else为可选语句,当条件不成立时,则执行else下的语句

 

if语句的语法很简单,我们举一个例子:

num = int(input("Enter a number: "))

if num > 10:
    print("Number is bigger than 10")
elif num < 10:
    print("Number is smaller than 10")
else:
    print("Num is eq 10")

 

 

if语句的三种结构:

# 第一种
score = int(input("Enter a number: "))
if score >= 60:
    print("及格")

使用流程图表示:      

  

 

# 第二种
score = int(input("Enter a number: "))
if score >= 60:
    print("及格")
else:
    print("不及格")

 使用流程图表示:

# 第三种
score = int(input("Enter a number: "))
if   score >= 90:
    print("A")
elif 80 <= score < 90:
    print("B")
elif 70 <= score < 80:
    print("C")
elif 60 <= score < 70:
    print("D")
else:
    print("E")

 使用流程图表示:

 

 

 习题

0. 判断学生分数是否及格,60分及格

1. 猜数字游戏

2. 根据成绩给评分 A(90-100)、B(80-89)、C(70-79)、D(60-69)、E(小于60)

 

 



 

 

while 循环 语句:

顾名思义,while语句用于循环执行程序,也就是在某条件成立时,则执行某段程序,用来处理需要重复执行的语句,

其基本形式为:

while 判断条件:
    执行语句……
    ......
else:
  执行语句.....
  ......
# 当判断条件为真(True)时,则执行while下的语句,如果判断条件为假(False)时,则结束循环; 如果判断条件永为真,则会产生循环,即无限循环。 结尾的else关键字是可选的,当while循环正常结束的时候,else关键字下的语句会被执行

 

举个例子:

# 输出1-10之间的所有整数:
num = 1
while num <= 10:
    print("The number is", num)
    num += 1

 使用流程图来表示:

  

在while循环中还有另外两个重要的语句 break 和 continue。

break : 用来退出循环,当使用break语句的时候,while中的else关键字后面的语句不会执行

continue: 用来结束当次循环

 

break语句程序演示:

num = 1
while num <= 10:
    if num > 5:
        break
    print("The number is", num)
    num += 1

 使用流程图表示:

 

 

continue 语句程序演示:

num = 1
while num <= 10:
    num += 1
    if 5 < num < 7:
        continue
    print("The number is", num)

使用流程图表示: 

  

习题:

1. 使用 # 号 输出一个长方形,用户可以指定宽和高。如果长为3 ,高为4 ,则输出一个 横着有3个#号 竖着有4个#号的长方形。

2. 输出一个如下的直角三角形,用户可指定输出行数。
  *
  **
  ***
  ****
  如果把这个三角形上下反转呢?

 3.输出九九乘法表

 



 

 

序列是被排成一列有顺序的对象;这样,每个元素不是在其他元素之前,就是在其他元素之后。这里,元素之间的顺序非常重要。

range() 语句: 用来生成一个序列, 比如说range(10) 就会生成: 0 1 2 3 4 5 6 7 8 9 

 

for 循环语句:

for循环一般用来从某个对象那里依次将元素读取出来,

其格式如下:

for 变量 in 序列:
    执行语句
  ......
# 当从序列中取出所有元素后,循环就会结束 # 循环的时候,每次循环取出来的值,都会赋值给 for后面的变量

 程序演示:

# 输出0-9所有整数
for i in range(10):
    print(i)

# 依次输出单词中的每个字母
for letter in "Python":
    print(letter)

 

使用流程图来表示for循环

 

for循环也有 else语句:

结构如下:

for 变量 in 序列:
    执行语句
    ......
else:
    执行语句
    ......

注意: 这里的else语句和 while中的else语句一样, 都是在循环正常结束的时候,才会执行,如果循环在执行过程中被终止(比如使用break),那么else下的语句就不会被执行。

 

 

习题:

1. 使用 # 号 输出一个长方形,用户可以指定宽和高。如果长为3 ,高为4 ,则输出一个 横着有3个#号 竖着有4个#号的长方形。

 

2. 如何输出一个如下的直接三角形,用户指定输出行数?
*
**
***
****
如果把这个三角上下反转呢?

 

3.输出九九乘法表

4. 求一个数字的阶乘

5.  有一棵树共高 100米,树懒Flash每个白天可以向上爬5米,晚上向下滑3米,问树懒Flash一共要花几天才能爬上树顶。

6. 从1到1000中所有整数中,不含有数字4的数字有多少个?

7. 求1到100之间所有个位数字不为3、5、7的和

8. 输出由 * 组成的三角形(金字塔形状),用户输入一个大于0的整数N,根据N输出对应的三角形(金字塔形状),比如当用户输入5时,输出如下的三角形。

    *
   ***
  *****
 *******
*********

9. 判断一个数字是否是水仙花数: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)

10. 输出斐波那契数列: 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144.......................... 这个数列从第3项开始,每一项都等于前两项之和。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM