Python控制语句

Python控制语句,第1张

目录

3.1 选择结构

 3.1.2  if…else语句

3.1.3  if…elif…else语句

3.2  循环结构

3.2.1  while 语句

3.2.2  for语句

 关于range()函数

 3.2.2  for语句

 3.2.3  continue和break语句

 3.2.4  循环嵌套

3.3  常用算法及应用实例

1.  递推

2.  迭代


3.1 选择结构

三种基本程序结构中的选择结构,可用if语句、if…else语句和if…elif…else语句实现。

if语句的语法形式如图所示:

#比较输入的整数是否大于6
a = input("请输入一个整数:")   #取得一个字符串
a = int(a)                     #将字符串转换为整数
if a > 6:
    print ( a, "大于6")

举例1:不同会员消费者买单

商家通常会对自己店铺的会员有所优惠,假设会员消费可以打9.5折,非会员用户消费不打折。输入用户的消费额,根据是否会员情况,输出最后应付的金额。代码如下:

#不同消费者买单
consume=eval(input("输入消费金额:"))
flag=eval ( input("输入是否会员编号(1:会员,其他:非会员):" ) )
if  flag == 1:
	consume *= 0.95
print( “用户应付费:“,consume,”元”)
 3.1.2  if…else语句

if…else语句语法形式如图所示:     

if 表达式 :             语句块1     else :             语句块2 

 

a = input("请输入一个整数:")   #取得一个字符串
a = int(a)                     #将字符串转换为整数
if a > 6:
    print ( a, "大于6")
else :
    print ( a, "小于等于6")

举例2:不同会员消费者买单(续)

商家通常会对自己店铺的会员有所优惠,假设会员消费可以打9.5折,非会员用户消费9.9折。输入用户的消费额,根据是否会员情况,输出最后应付的金额。代码可改写如下:

#不同消费者买单
consume=eval(input("输入消费金额:"))
flag=eval(input("输入是否会员编号(1:会员,其他:非会员):"))
if flag == 1:
    consume *= 0.95
else:
    consume *= 0.99
print('用户应付费:', consume)
3.1.3  if…elif…else语句
if 表达式1 :
    语句1
elif 表达式2 :
    语句2
    ……
elif 表达式n :
    语句n
else :
    语句n+1

 改写上一个例子:

a = input("请输入一个整数:")   #取得一个字符串
a = int(a)                     #将字符串转换为整数
if a > 6:
    print ( a, "大于6")
elif a==6:
    print ( a, "等于6")
else :
    print ( a, "小于等于6")

 多分支例题

例题】输入学生的成绩score,按分数输出其等级:score≥90为优,90>score≥80为良,80>score≥70为中等,70>score≥60为及格,score<60为不及格。

score=int(input("请输入成绩"))      #int()转换字符串为整型
if score >= 90: 
    print("优")
elif  score >= 80: 
    print("良") 
elif  score >= 70:
    print("中")
elif  score >= 60: 
    print("及格")
else :
    print("不及格")

举例2:不同会员消费者买单(再续)

商家通常会对自己店铺的会员有所优惠,假设金卡会员消费可以打9折,普通会员打9.5折,非会员用户消费9.9折。输入用户的消费额,根据会员情况,输出最后应付的金额。

#不同消费者买单3
#会员编号(2:金卡会员,1:普通会员,其他:非会员)
#不同的会员消费者买单
consume=eval(input("请输入消费额:"))
flag=int(input("请输入会员编号:"))
if flag == 2:
    consume *= 0.9
elif flag ==1:
    consume *= 0.95
else:
    consume *= 0.99
print("用户应付费: ",consume)

 数字排序

【例题】任意输入三个数字,按从小到大的顺序输出。
x=input('x=') 
y=input('y=')
z=input('z=')
if x>y:
    x,y=y,x
if x>z:
   n=x
    x=z
   z=n
if y>z:
     n=y
     y=z
     z=n
print(‘从小到大的顺序为:’,x,y,z)

#以上程序错误,因为其只会比较字符串大小,并不会比较实际数字大小。 比如出现x=18 y=5 z=20,结果会为18,20,5 因此要加上int( )或者eval( )将字符串转换为数字后再比较。

3.2  循环结构 3.2.1  while 语句
while 判断条件:     执行语句
count = 0
while count < 9:
   print ('Hello')
   count = count + 1
print ("Good bye!" )

累加和

【例题】求1+2+3+…+100。 分析:计算累加和需要两个变量,变量sum存放累加和,变量counter存放加数。重复将加数counter加到sum中。

程序代码:
	sum = 0
	counter = 1
	while counter <= 100:
    		sum = sum + counter
    		counter += 1 
	print("1 到100之和为: ",sum)
3.2.2  for语句

for语句可以遍历任何序列的项目,如一个列表、元祖或者一个字符串

1.for循环的语法
for循环的语法格式如下:
for 循环索引值 in 序列
    循环体
for循环把列表中元素遍历出来。
fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例
   print ( '元素 :', fruit)
print( "Good bye!" )

计算1~10的整数之和,可以用一个sum变量做累加。          

程序代码:
		sum = 0
		for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
   		    sum = sum + x
		print(sum)

 Python提供一个range()内置函数,可以生成一个整数序列。

range(1, 101)就可以生成1~100的整数序列,计算1~100的整数之和如下:
	sum = 0
	for x in range(1,101):
    		sum = sum + x
	print(sum)
 关于range()函数
range()返回一个整数列表,Python常用内置函数之一。
例如:
>>>range(10)        # 从0~10,step=1,不包含10的整数列表
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(5, 11)     # 从5~11, step=1,不包含11的整数列表
[5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)  #从0~30,step= 5,不包含30的整数列表
[0, 5, 10, 15, 20, 25]
 3.2.2  for语句

通过索引循环

对于一个列表,另一种执行循环的遍历方式是通过索引(元素下标)。 实例如下:

fruits = ['banana', 'apple',  'mango’]
for i in range(len(fruits)):    # for i in range(3):即 for i in [0, 1, 2]: 
   print( '当前水果 :', fruits[i] )
print ("Good bye!")

 3.2.3  continue和break语句

break语句:在while循环和for循环中都可以使用,一般放在if选择结构中,一旦break语句被执行,将使得整个循环提前结束

continue语句:作用是终止当前循环,并忽略continue之后的语句,然后回到循环的顶端,提前进入下一次循环。

break举例:

#输出100以内的所有自然数

i=0
while 1:                 #无条件循环,条件为永真
    print(i,end=' ')
    i=i+1
    if i>100:       #当i为101时停止输出,结束整个循环
        break

 Continue举例:

#输出0~100之间所有的偶数
i=1
while i<100:
    i+=1
    if i%2>0:         #奇数时
        continue      #结束本轮循环,跳到下一轮循环
    print(i,end=' ')

利用break完成:

#输出0~100之间所有偶数
i=2
while 1:                 #无条件循环,条件为永真
    print(i,end=' ')
    i+=2
    if i>100:       #当i为102时停止输出,结束整个循环
        break

 3.2.4  循环嵌套

 Python 语言允许在一个循环体里面嵌入另一个循环。如在while循环中可以嵌入for循环;也可以在for循环中嵌入while循环。嵌套层次一般不超过3层,以保证可读性

【例3-6】打印九九乘法表。 【例3-7】使用嵌套循环输出2~100之间的素数。

for i in range(1,10):
    for j in range(1,i+1):
        print(i,"×",j,"=",i*j,end="\t")
    print("")

for i in range(1,10):
    for j in range(1,i+1):
        print("{}*{}={}".format(i,j,i*j),end="\t")
    print()
3.3  常用算法及应用实例

递推与迭代

1.  递推

利用递推算法或迭代算法,可以将一个复杂的问题转换为一个简单过程的重复执行。

这两种算法的共同特点是,通过前一项的计算结果推出后一项。不同的是,递推算法不存在变量的自我更迭,而迭代算法则在每次循环中用变量的新值取代其原值。

2.  迭代

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/869372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存