目录
1.顺序语句
默认情况下,Python代码的执行顺序,是从上到下依次执行的。
print("111") print("222") print("333")
2.条件语句
条件语句,就是根据一个具体条件的成立与否,来决定接下来的逻辑走向。
(1)if
if expression:
do_something1
do_something2
next_something
(2)if-else
if expression1:
do_something1
else :
do_something2
(3)if-elif-else
if expression1:
do_something1
else expression2:
do_something2
else:
do_something3
练习:
1.输入一个整数,判定是否是奇数
a=int(input("请输入一个整数")) if a%2==0: print("偶数") else: print("奇数")这个代码在C++/Java是不太行的,-19%2=-1 和1是不相等的,
在Python中 -19%2=1,因此这个代码是ok的。
2.输入一个整数,判断是正数还是负数
a=int(input("请输入一个整数")) if a>0: print("正数") elif a<0: print("负数") else: print("0")
3.判定年份是否是闰年
#每隔4年闰一次。 #如果年份能够被100整除,(1900,2000),这是世纪闰年,得看是否被400整除 year=int(input("请输入一个年份:")) if year%100==0: if year%400 ==0: print("闰年") else: print("平年") else: #普通闰年的判定 if year%4==0: print("闰年") else: print("平年")优化代码:虽然代码短了,但是中间夹杂了一些更复杂的条件判定
year = int(input("请输入一个年份:")) if(year%100!=0 and year&4==0)or year%400==0: print("闰年") else: print("平年")
3.缩进表示 代码块
a=input("请输入一个整数") if a=='1': print("aaaa") print("bbbb")如果条件成立,那么aaaa和bbbb都会打印,如果条件不成立,那么都不会打印
a=input("请输入一个整数") if a=='1': print("aaaa") print("cccc")cccc和条件无关,无论条件是否成立,都会打印,不属于条件语句中的内容
在python中,缩进表示代码块
在if,else,elif,while,for....需要跟上代码块的部分,都是需要使用缩进来表示的。
代码块嵌套:
a=input("请输入一个整数a") b=input("请输入一个整数b") if a=='1': if b=='2': print("aaa") print("bbb") print("ccc")
当有多级条件嵌套的时候,当前句子属于哪个代码块,完全取决于缩进的级别。
在C++/Java中,对于代码的缩进是没有强制要求的,缩进具体怎么写都不影响代码的编译结果。
如果缩进没有按照的统一风格来写,对于可读性比较影响。
4.空语句(pass)
什么都不做,也需要写一个pass空语句来占位
a=input("请输入一个数字:") if a!='1': #啥都不做 pass else: print('hello')
5.循环语句
(1)while循环
while 条件
循环体
条件为真,则执行循环体代码
条件为假,则结束循环
例子1:打印1-10的整数
num=1 while num<=10: print(num) num+=11.循环变量的初始值
2.循环的判定条件
3.循环变量的更新语句
例子2:计算1-100的和
#sum变量用于表示计算的和 sum=0 num=1 while num<=100: sum+=num num +=1 print(f'sum={sum}')例子3:计算五的阶乘
result =1 num=1 while num<=5: result *=num num+=1 print(f'result={result}')
例子4:1!+2!+3!+4!=5!
num=1 #sum表示最终累加的结果 sum=0 while num<=5: #先计算出当前num!是多少,往sum上进行累加 factorResult=1 i=1 while i<=num: factorResult *=i i+=1 sum +=factorResult num +=1 print(f'sum={sum}')
(2)for循环
for 循环变量 in 可迭代对象
循环体
打印1-10
for i in range(1,11):
print(i)
打印2,4,6,8,10
for i in range(2,12,2):
print(i)
range是一个内建函数。起到的效果是得到一个可迭代对象中就包含了一系列整数
range(beg,end)=>[beg,end)
打印从10到1
#打印从10到1 # num=10 # while num>=1: # print(num) # num-=1 for i in range(10,0,-1): print(i)
求1+2+3...+100
#求1+2+3+...+100 sum=0 for i in range(1,101): sum+=i print(f'sum={sum}')
使用shift+F6可以针对变量进行重命名,会智能的分析我们的代码,自动把所有需要修改的名字都统一替换了。也可能是Fn+F6
6.continue、break
continue:立即结束当前循环,进入下次循环
break:立即结束循环
while True:
光看到while True不一定是死循环,关键是看循环体里是不是还能break
例子:
#给定若干个数字,求平均值(也不知道几个数字) #这个变量表示加和的结果 theSum=0 #这个变量表示有几个数字 count=0 while True: num=input("请输入一个数字:") if num==';': #约定当用户输入;的时候,表示输入的结果 break num=float(num) theSum+=num count+=1 print(f'平均值为:{theSum/count}')
7.小结