Python入门学习笔记03

本文详细介绍了Python的程序流程控制结构,包括顺序结构、选择结构(if语句及其单分支、双分支、多分支形式)、循环结构(for、while循环及循环嵌套),并展示了各种结构的实例代码。此外,还提到了break、continue和else在循环中的用法,以及enumerate、zip和map等函数的使用。

第三章 程序流程控制

1. 顺序结构

例3.1 顺序结构

import math
a = float(input("请输入三角形边长a:"))
b = float(input("请输入三角形边长b:"))
c = float(input("请输入三角形边长c:"))
h = (a+b+c)/2
area = math.sqrt(h*(h-a)*(h-b)*(h-c));\
print(str.format("三角形三边分别为:a={0},b={1},c={2}",a,b,c))
print(str.format("三角形的面积={0}",area))
2. 选择结构
  • if语句
    条件表达式最后被评价为bool值:
    False—数值类型(0)、空字符串(“”)、空列表([ ])、空字典({ })、空元组(( ))
    True—其他情况

例3.2 单分支结构

a = int(input("请输入第一个整数:"))
b = int(input("请输入第二个整数:"))
print(str.format("输入值:{0},{1}",a,b))
if(a<b):
       t = a
       a = b
       b = t
print(str.format("降序值:{0},{1}",a,b))

例3.3 双分支结构

if (x >= 0)
   y=math.sin(x)+2*math.sqrt(x+math.exp(4))-(x+1)**3  #x的立方根克表示为math.pow(x,3)
else:
   y=math.log(-5*x)-math.fabs(x*x-8*x)/(7*x)+math.e
   

条件运算语句

y = (math.sin(x)+2*math.sqrt(x+math.exp(4))-(x+1)**3) if((x>=0)) else \
    (math.log(-5*x)-math.fabs(x*x-8*x)/(7*x)+math.e)

例3.4 多分支结构

x = int(input("请输入x坐标:"))
y = int(input("请输入y坐标:"))
if(x==0 and y==0): print("位于原点")
elif(x==0):        print("位于y轴")
elif(y==0):        print("位于x轴")
elif(x>0 and y>0): print("位于第一象限")
elif(x<0 and y>0): print("位于第二象限")
elif(x<0 and y<0): print("位于第三象限")
else:              print("位于第四象限")

例3.5 if语句的嵌套

if(x>=0):
      if(x>0): y=1
      else:    y=0
else:y=-1
3. 循环结构
  • 可迭代对象(iterable):一次返回一个元素,因此适用于循环。
    包括:序列(sequence)—字符串,列表,元组等;字典;文件对象;迭代器对象;生成器函数。
    迭代器是一个对象,表示可迭代的数据集合,可以实现迭代功能,包括方法–iter–()和–next–()。
    生成器是一个函数,使用yield语句,每次产生一个值,也可以用于循环迭代。
  • range对象(迭代器对象)
range(start , stop[ , step])3.6
for i in range(1,11):   print(i,end= ' ')
#输出: 1 2 3 4 5 6 7 8 9 10
for i in range(1,11,3): print(i,end= ' ')
  • for 循环
for 变量 in 对象集合:
     循环体语句/语句块
例3.7
for i in (1,2,3):
     print(i,i**2,i**3)
#输出
1 1 1
2 4 8
3 9 27
  • while循环
while (条件表达式):
   循环体语句/语句块
例3.8   
import math
i=1; e=1; t=1
while(1/t >= math.pow(-10,6)):
   t *= i
   e += 1/t
   i += 1
print("e =", e) 
  • 循环的嵌套:多层循环结构中两种循环语句(for、while)可以相互嵌套,多重循环的循环次数等于没每一重循环次数的乘积。
# 打印九九乘法表1
for i in range(1, 10):
    s = “”
    for j in range(1,10):
         s += str.format("{0:1}*{1:1} = {2:<2}", i, j ,i*j)
    print(s)

# 打印九九乘法表2
for i in range(1, 10):
    s = “”
    for j in range(1,10):
         if(i>=j):
             s += str.format("{0:1}*{1:1} = {2:<2}", i, j ,i*j)
    print(s)

# 打印九九乘法表3
for i in range(1, 10):
    s = “”
    for j in range(1,10):
         if(i<=j):
             s += str.format("{0:1}*{1:1} = {2:<2}", i, j ,i*j)
    print(s)
  • break语句:提前结束循环,跳出最近的一层循环。
  • continue语句:结束本次循环,跳过循环体内continue下面尚未执行的语句,返回到循环的起始处。
  • else语句:若for、while语句没有被break终止,则执行else子句
for 变量 in 对象集合:
     循环体语句/语句块
else:
     语句(块)

while (条件表达式):
   循环体语句/语句块
else:
     语句(块)
  • 补充P50:
    enumerate()函数可在for循环中使用索引下标访问集合元素
    zip( )函数可并行遍历多个可迭代对象 zip(x,y)
    map( )函数可遍历多个迭代对象并使用指定函数处理对应的元素 map(func,seq1[,seq2,...])

补充记录用法

  • format()

print(str.format("{0:6}{1:6}", f1, f2),end = " ") #每次输出两个数,每个数占6位,以空格分隔

print("第{0}季节:{1}".format(i,s))

print(str.format("{0:<5}", end=" ")) #每个数占5个位置,不足的后面加空格,并且不换行
  • print() 可用来换行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值