学前准备
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项开始,每一项都等于前两项之和。