判定
在python中,通常用if、elif、else等判断字符来判断条件是否成立,一般来说if在elif和else之前,示例如下:
mark = float(input('请输入分数:'))
if mark >= 90:
grade = '优秀'
elif mark >= 80:
grade = '良好'
elif mark >= 70:
grade ='还可以'
elif mark < 60:
grade = "不及格"
print('你的等级是:'+grade)
Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if
条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。
当然如果要构造出更多的分支,可以使用if…elif…else…
结构,例如下面的分段函数求值。
(x<-1)
可使用以下代码:
x=float(input('x='))
if x < -1:y=5*x+3
elif x <=1:
y=6*x+3
else:
y=0
print(y)
当然根据实际开发的需要,分支结构是可以嵌套的,例如判断是否通关以后还要根据你获得的宝物或者道具的数量对你的表现给出等级(比如点亮两颗或三颗星星),那么我们就需要在if
的内部构造出一个新的分支结构,同理elif
和else
中也可以再构造新的分支,我们称之为嵌套的分支结构。不过为了遵循Zen of Python中的‘Flat is better than nested’的原则,在编写代码是应避免过多的嵌套。
循环
在Python中一般使用for和while定义循环,示例如下:
from random import randint
counter=0
my_answer=49
while True:
computer_answer = int(randint(1,100))
counter+=1
if computer_answer > my_answer:
print(str(computer_answer),'电脑你猜大了' )
computer_answer <= computer_answer
elif computer_answer < my_answer:
print(str(computer_answer),'电脑你猜小了')
computer_answer >= my_answer
if computer_answer == my_answer:
print(str(computer_answer),'有点聪明哦')
break
if counter > 7:
print('你是不是傻')
break
while循环能判定循环何时结束,一般定于while True,用break来结束。
x='hello word'
for _ in range(10):
print(x)
for循环不能判定结束,需要说明的是上面代码中的range
类型,range
可以用来产生一个不变的数值序列,而且这个序列通常都是用在循环中的,例如:
range(101)
可以产生一个0到100的整数序列。range(1, 100)
可以产生一个1到99的整数序列。range(1, 100, 2)
可以产生一个1到99的奇数序列,其中的2是步长,即数值序列的增量。