1.条件分支语句
(1)语句格式
if表达式1:
语句组1
elif表达式2:
语句组2
......
elif表达式n:
语句组n
else:
语句组n+1
if语句中也可以没有elif和else
if语句中的语句组由一条或多条语句组成,必须向右缩进至少一个空格,同一个语句组的缩进程度必须一样,如果下一行要缩进那么本行必须以”:“结尾
缩进时要么都用制表符(Tab)要么都用空格,否则可能会导致报错
#示例:
if int(input())==5
print("a",end=" ")
priint("b",end=" ")
print("c")
输入:5 输出:abc
输入:4 输出:c
第四行没有缩进所以不是if语句中的一部分,一定会被顺序执行到
(2)嵌套
在一条if语句的某个分支(语句组)里,还可以再写if语句,称为if语句的嵌套
#示例
a=int(input())
if a>0:
if a%2:
print("good")
else:
print("bad")
(3)区别if...elif...else和多个if语句
写法1:
if a<3:
语句组1
elif a>=3 and a<10:
语句组2
else:
语句组3
写法2:
if a<3:
语句组1
if a>=3 and a<10:
语句组2
if a>=10:
语句组3
注意:写法2和写法1所执行的结果是不一样的
(4)举两个例子
1.奇偶数判断
给定一个整数,判断该数是奇数还是偶数,如果是偶数输出even,如果是奇数输出odd
if int(input())%2==1:
print("odd")
else:
print("even")
2.判断子串
输入两行字符串,要求判断第一行字符串是不是第二行字符串的子串。如果是,输出yes,否则输出no
s1,s2=input(),input()
if s1 in s2:
print("yes")
else:
print("no")
2.for循环语句
(1)语句格式
for变量in序列:
语句组1
else:
语句组2
语句组1被执行的次数为循环次数
(2)序列
序列可以是range(...),字符串,列表,元组,字典,集合
range(n)是一个序列,是一个不包含n在内的左闭右开的区间[0,n)
range(0)和range(n,n)为空序列,若n小于等于m则range(m,n)也是空序列
range(m,n,s)表示一个序列,m是起点,n是终点,s为步长。序列的第一个元素是m,第二个是m+s,第三个是m+2s...终点n取不到。如果m大于n且s为负数则为从大到小取。
len(x)可求x的长度,前提是x为字符串,列表,元组,字典或集合
ord(x)用于求字符x的编码
chr(x)用于求编码为整数x的字符
(3)一些例子
1.用for循环连续输出26个小写字母:
for i in range(26):
print(chr(ord("a")+i),end=" ")
2.输入n个整数求和
n=int(input())
total=0
for i in range(n):
total+=int(input())
print(total)
3.从小到大输出正整数n的因子
n=int(input())
for i in range(1,n+1):
if n%i==0:
print(i,end=" ")
4.多次求n个数的和
m=int(input())
for i in range(m):
n=int(input())
total=0
for i in range(n):
total+=int(input())
print(total)
(4)break语句和continue语句
break语句用于跳出循环
continue语句用于结束本次循环,开始下一次循环
3.while循环语句
(1)语句格式
while表达式exp:
语句组1
else:
语句组2
(2)两个例子
1.求最小公倍数
输入三个不超过100的正整数,求它们的最小公倍数
s=input.split()
x,y,z=int(s[0]),int(s[1]),int(s[2])
n=m=max(x,y,z)
while n%x or n%y or n%z:
n+=m
print(n)
2.十进制转二进制数
输入一个十进制形式的整数,请输出其二进制表示形式
n=int(input())
if n<0:
n=-n
print("-",end="")
elif n==0:
print("0")
exit()
result=""
while n>0:
result+=str(n%2)
n//=2
print(result[::-1])
x[::-1]是将字符串x倒过来的字符串
exit()是python函数,执行它会导致程序结束
4.异常处理
(1)基本写法
try:
语句组1
except Exception as e:
语句组2
如果执行过程没有产生异常则不会执行语句组2,如果产生异常程序不会终止而是从语句组1中跳出去执行语句组2
except Exception as e:可以简写为except:
(2)举个例子
求最大整数
输入若干行整数输出所有整数中最大的那个
s=input()
lst=s.split()
maxV=int(lst[0])
while True:
for x in lst:
maxV=max(maxV,int(x))
try:
s=input()
except Exception as e:
break
lst=s.split()
print(maxV)