目录
1.顺序语句
默认情况下,python的代码执行顺序是按照从上到下的顺序依次执行的:
print("1")
print("2")
print("3")
上文代码输出结果为123而不会出现132、321等情况,这种按照顺序执行的代码称为顺序语句;
2.条件语句
条件语句能够表达“如果...否则....”这样的含义,就构成了计算机中基础的逻辑判定。
条件语句也叫做分支语句,表示了接下来的逻辑可能有几种走向。
2.1 语法格式
(1)if
if expression:
do_something1
else:
do_something2
(2)if - else
if expression1:
do_something1
else
do_something2
(3)if - elif - else
if expression1:
do_something1
elif expression2
do_something2
else
do_something3
注意:① python中的if条件表达式没有( ),而是使用 : 作为结尾;
② if / else 条件后要执行的语句块,使用缩进(通常是4个空格或1个tab)来表示,而不是{ };
③ 对于多条件分支,不是写作else if ,而是合体表示为elif;
2.2 缩进与代码块:
代码示例1:
a = input("Please input the number: ")
if a == '1':
# input获取到的是字符串 与a比较的不是数字1,而是字符串1
# if a == 1 写法不正确
print("hello")
print("world")
输出结果为 :
代码示例2:
a = input("Please input the number: ")
if a == '1':
print("hello")
print("world")
运行结果如下:
(print("world"))语句不论条件是否满足都会执行
代码示例3:
a = input("Please input the first number: ")
b = input("Please input the second number: ")
if a == '1':
if b == '2':
print("aaa")
print("bbb")
print("ccc")
无需满足任何条件都会打印ccc,满足第一个条件,就会打印bbb,两个条件都满足,才打印aaa;
当多级条件嵌套时,当前语句属于哪个代码块取决于缩进的级别;
2.3 例题演示
2.3.1 输入一个整数判断为奇数或偶数
num = input("Please input a number: ")
num = int(num)
if num % 2 == 1:
print(f"{num} is an odd number")
else:
print(f"{num} is an even number")
注意:在C++ 、java中,负数如-19%2=-1,上述代码判断会出错,但是在python中,-19%2=1,上述代码运行结果正确。
2.3.2 输入一个整数判断为正数或负数
num = input("Please input a number: ")
num = int(num)
if num > 0:
print(f"{num} is a positive number")
elif num < 0:
print(f"{num} is a negative number")
else:
print(f"{num} is zero")
2.3.3 输入一个年份判断为平年或闰年
year = input("Please input a year: ")
year = int(year)
if (year % 100 != 0 and year % 4 == 0) or (year % 400 == 0):
print(f"{year} is a leap year")
else:
print(f"{year} is a common year")
2.4 空语句
输入一个数字,如果数字为1,则打印hello:
方法一:
a = input("Please input a number: ")
if a == '1':
print("hello")
方法二:
a = input("Please input a number: ")
if a != '1':
# 空语句占位
pass
else:
print("hello")
3.循环语句
3.1 while循环
3.1.1 语法格式
while 条件:
循环体
3.1.2 代码示例
(1)打印1~10的整数:
i = 1
while i <= 10:
print(i)
i += 1
(2)计算1~100的和:
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
(3)计算5的阶乘:
i = 1
ret = 1
while i <= 5:
ret *= i
i += 1
print(ret)
(4)计算1!+2!+3!+4!+5!
i = 1
ret = 1
sum = 0
while i <= 5:
ret *= i
sum += ret
i += 1
print(sum)
3.2 for循环
3.2.1 语法格式
for 循环变量 in 可迭代对象:
循环体
注意:① python 的for语句与其他语言不同,没有初始化语句、循环条件判定语句、循环变量更新语句,而是更加简单。
② 可迭代对象指的是:内部包含多个元素,能一个一个把元素取出来的特殊变量。
3.2.2 代码示例
(1)打印1~10
for i in range(1, 11):
print(i)
注意:range 是一个内建函数,起到的效果就是得到一个可迭代对象,这个可迭代对象中就包含了一系列整数:range(begin,end)等价于[ begin, end)
(2)打印2,4,6,8
for i in range(2, 11, 2):
print(i)
注意:range函数还提供了第三个参数表示步长,默认步长值为1;
(3)打印10~1
for i in range(10, 0, -1):
print(i)
(4)求1+2+...100
注意:光标放在待改名变量上按Shift+F6可以进行统一改名;
theSum = 0
for i in range(1, 101):
theSum += i
print(f"sum={theSum}")
3.3 continue
continue意义是立即结束当前循环,进入下次循环。
示例:打印1~5,不打印3
for i in range(1, 6):
if i == 3:
continue
print(i)
3.4 break
break意义是立即结束整个循环。
示例1:打印1~5,但当打印到3时停止打印
for i in range(1, 5):
if i == 3:
break
print(i)
示例2:输入若干个数字,求平均值
theSum = 0
count = 0
while True:
num = input("Please input a number: ")
if num == '^':
break
num = float(num)
theSum += num
count += 1
print(f"average number is {theSum/count}")
其中输入^表示输入结束;