Python基础语法(中)
顺序语句
默认情况下,Python的代码执行顺序是从上往下执行的。
形如下面这样的代码,执行的结果只能是123,而不是321
print(1)
print(2)
print(3)
条件语句
Python 中使用 if else 关键字表示条件语句
(1)if
if expression:do_something1do_something2next_something
如果 expression 值为 True, 则执行 do_something1, do_something2, next_something
如果 expression 值为 False, 则只执行 next_something, 不执行 do_something1, do_something2
(2)if - else
if expression:do_something1else:do_something2
如果 expression 值为 True, 则执行 do_something1
如果 expression 值为 False, 则执行 do_something2
(3)if - elif - else
if expression1:do_something1elif expression2:do_something2else:do_something3
如果 expression1 值为 True, 则执行 do_something1
如果 expression1 值为 False, 并且 expression2 为 True 则执行 do_something2
如果 expression1 值为 False, 并且 expression2 为 False 则执行 do_something3
注意: Python中的条件语句写法, 和很多编程语言不太一样.
1. if 后面的条件表达式, 没有 ( ), 使用 : 作为结尾.
2. if / else 命中条件后要执行的 "语句块", 使用 缩进 (通常是 4 个空格或者 1 个 tab)来表示, 而不是 { }
3. 对于多条件分支, 不是写作 else if, 而是 elif (合体了)
a = int(input("请输入一个数:"))
if a%2==1:print("奇数")
else:print("偶数")
上述代码是判断一个数是否为奇偶数
当我们输入-9的时候,会显示奇数,这个代码在Python中是可以使用的,但在C++/Java中-1和1是不相等的。这个代码就不能用来判断负数的奇偶性了。
空语句 pass
a = int(input("请输入一个数:"))
if a == 1:#不做操作
else:print("hello")
上述代码,希望条件满足的时候,不做任何操作,但是由于Python语法格式,尤其是缩进和代码块,要求比较高,所以不做操作的话,是不符合语法要求的。
正确的做法是什么呢?使用空语句pass 进行占位,这样才合乎语法要求
a = int(input("请输入一个数:"))
if a == 1:pass
else:print("hello")
循环语句
while循环
while 条件:循环体
条件为真, 则执行循环体代码.
条件为假, 则结束循环.
代码示例:求1!+2!+3!+4!+5!的和
num = 1
sum = 0
while num<=5:result = 1i = 1while i<=num:result*=ii+=1sum+=resultnum+=1
print(f'sum={sum}')
for循环
for 循环变量 in 可迭代对象:循环体
例如:打印1~10:
for i in range(1,11):print(i)
range是一个内建函数,起到的效果是一个“可迭代对象”,range的范围是前闭后开区间。
代码示例: 打印 2, 4, 6, 8, 10
for i in range(2,11,2):print(i)
通过 range 的第三个参数, 可以指定迭代时候的 "步长". 也就是一次让循环变量加几,不写默认为1
continue
continue 表示结束这次循环, 进入下次循环
break
break 表示结束整个循环