第三讲:控制流:条件语句(上)

Posted wenxiacui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三讲:控制流:条件语句(上)相关的知识,希望对你有一定的参考价值。

控制流:条件语句(上)

python条件语句是通过一条或多条语句的执行结果(True或False)来决定执行的代码块

一、if

if语句用于控制程序的执行,基本形式为:

if 判断条件:

  执行语句……

elif 判断条件:

  执行语句……

else:

  执行语句……

注意:elif语句可以有多个或没有;else后面不能加条件判断语句,如果要加用elif。

 

练习1:输入学生的分数,当分数大于等于60时,打印及格,当小于60时,打印不及格,不在[0,100]区间,打印输入有误
# encoding=utf-8
score=int(raw_input(u‘请输入您的分数:‘)) #raw_input的内容是字符串,如果需要做数字比较,需要强制转换int类型再做计算
if score not in range(0,101): #先排除不在[0,100]区间的数
print u‘您输入的分数有误,请重新输入:‘
elif score>=60:
print u‘恭喜您,您的分数及格,分数是‘,score
else:
print u‘您的分数不及格,分数是‘,score

练习2:输入三个数字,判断是否能构成三角形,如果能构成判断是否是等腰或等边三角形

try:
A=input(u‘输入数字A:‘)
B=input(u‘输入数字B:‘)
C=input(u‘输入数字C:‘)
if A>0 and B>0 and C>0:
if A+B>C or A+C>B or B+C>A:
if A==B or A==C or B==C:
print u‘等腰三角形‘
elif A==B==C:
print u‘等边三角形‘
else:
print u‘普通三角形‘
else:
print u‘不能构成三角形‘
else:
print u‘输入有误,请重新输入正数‘

except Exception,e:
print u‘输入有误,请重新输入数字类型‘

二、while:给定的判断条件为true时则执行循环体,否则退出循环体

while 判断条件:

  执行语句

1、执行语句:可以是单个语句,或语句块

2、判断条件:可以是任意的表达式,任何非零或非空(null)的值均为true;当条件判断语句为false时,则循环结束。

3、while语句块中要想办法得到相反的结果,跳出循环,不然会有死循环

 

练习1:写一个永久循环的while 代码块,直到用户输入quit,退出

while 1:
str=raw_input(‘enter something:‘)
if str!=‘quit‘:
print u‘永久循环‘
else:
print u‘终止循环‘
break

练习2:实现数学中多项式求和公式的打印,比如:a6x^6 + a5x^5 + a4x^4 + a3x^3 + a2x^2 + a1x^1 + a0

def multion(n):
strsum=‘‘

while n>=0:
if n==0:
strsum+=‘a‘+‘0‘

else:
strsum+=‘a‘+str(n)+‘x‘+‘^‘+str(n)+‘+‘
n-=1 #每一次循环后n-1

return strsum #return最后的值

print multion(9)

三、for:可以遍历任意序列的项目,如列表或字符串或元组或字典

for iterating_var in sequence:
  statements(s)
 

1、遍历列表:

例子:

lista=[1,2,3]
for i in lista:
str=raw_input(‘enter something:‘)
if str!=‘quit‘:
lista.append(str) #往列表中加字符串元素
print lista
else:
break
运行结果:
[1, 2, 3, ‘111‘]
enter something:222
[1, 2, 3, ‘111‘, ‘222‘]
enter something:

2、遍历字符串:

str1=‘hello world‘
for i in str1:
print i

运行结果:
h
e
l
l
o
 
w
o
r
l
d

3、遍历字典:

练习1:统计名字列表中,各名字的首字母在名字列表中出现的次数,name=[‘foster‘,‘foe‘,‘lily‘,‘mickel‘,‘live‘,‘moon‘,‘ruby‘,‘cindy‘,‘miya‘]

name=[‘foster‘,‘foe‘,‘lily‘,‘mickel‘,‘live‘,‘moon‘,‘ruby‘,‘cindy‘,‘miya‘]
dictChar={}
for i in name:
if dictChar.has_key(i[0]):
dictChar[i[0]]+=1
else:
dictChar[i[0]]=1

for i,j in dictChar.items():
print u‘字母%d有%d个‘%(i,j)

四、continue和break

1、有continue,结束当前循环(当前循环剩余的代码不会被执行),直接跳到下一个循环

2、有break,跳出循环马上中断,后面的语句不会被执行

 

以上是关于第三讲:控制流:条件语句(上)的主要内容,如果未能解决你的问题,请参考以下文章

Python编程快速上手_第 2 章 控制流

第16章 控制流

python中的3种控制流语句之while

python | 控制流语句

编译原理—中间代码生成布尔表达式翻译短路计算控制流语句翻译条件语句循环语句

学习笔记9控制流语句-IF条件判断