python 第十一周 python条件与循环语句

  • 第3章 Python 的控制语句

  • 3.1 结构化程序设计

    顺序结构、判断结构、循环结构

  • 3.2 if 语句

    控制台输入函数:
    input(prompt) ….value #参数prompt是控制台中输出的提示文字,提示用户输入,返回数字型的值。
    raw_input(prompt) 返回字符串,如果输入数字还是返回字符串。

# 跳过if语句
a = input("a:")
b = input("b:")
if(a > b):
    print a, " > ", b
print a, " < ", b

# if else语句
a = input("a:")
b = input("b:")
if(a > b):               ##括号可以省略
    print a, " > ", b
else:                     ##else也可以省略,但要缩进
    print a, " < ", b

- 3.2.2 if…elif…else 语句
当程序分支很多时,可以使用此句。首先判断表达式1,如果为真,则执行语句1,否则执行elif子句,判断表达式2是否为真………..

# if elif else语句
score = input("score:")
if(score >= 90) and (score <= 100):
    print "A"
elif(score >= 80) and (score < 90):
    print "B"
elif(score >= 60) and (score < 80):
    print "C"
else:
    print "D"
  • 3.2.3 if 语句的嵌套
x = -1
y = 99
if(x >= 0):
    if(x > 0):          #嵌套的if语句
        y = 1
    else:
        y = 0
else:
    y = -1
print "y =", y

要注意,编写嵌套语句时要把所有的分支情况都考虑到。因此,编写条件语句时,尽量避免使用嵌套语句,它不便于阅读,而且可能会忽略一些可能性。

  • 3.3 循环语句
    3.3.1 while 循环
    当循环表达式为ture时,依次执行while中的子句,直到循环表达式为false,程序流转到else语句。其中else子句可以省略,表达式两侧括号也可以省略。注意,避免死循环,即循环条件永远为真。
# 带else子句的while循环
x = input("输入x的值:")
i = 0
while(x <> 0):   
    if(x > 0):
        x -= 1
    else:
        x += 1
    i = i + 1
    print "第%d次循环:" %i, x     #%d,整数,格式化字符,
else:
    print "x等于0:", x

%i是用来返回%d的值,故不用“,”。

  • 3.3.2 for 循环

  • range()函数:range([start,]stop[,step])→list of integers(整数列表)step
    默认值为1,stop值不在列表。

  • for 循环用于偏历一个集合,依次访问集合中的每个项目。
  • for…in… 循环执行过程:每次循环从集合中取出一个值,并把该值赋值给变量。集合可以是元组、列表、字典等数据结构。其中else子句可以省略,最后一次循环结束后将执行else子句。
# for in语句
for x in range(-1, 2):
    if x > 0: 
        print "正数:",x
    elif x == 0 : 
        print "零:",x
    else:
        print "负数:",x
else:
    print "循环结束"
  • 3.3.3 break和continue 语句

  • 1.break 语句

在循环结构中,break语句可以提前结束循环。

# break语句
x = input("输入x的值:")
y = 0
for y in range(0, 100):
    if x == y:
        print "找到数字:", x
        break              #如果没有break就会执行else后语句
else:
    print "没有找到"
  • 2.continue语句

在循环结构中,当程序执行到continue语句时,程序将进入下一次循环,循环语句并没有中止。

x = input('输入x的值:')
y=0
for y in range(0,100):
    if x != y:
        print 'y=',y
        continue         #返回继续循环
    else:
        print 'x=',x
    break        #break必须在循环体或分支语句内

3.4 结构化程序示例

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# xrange()      #xrange()是一个类,并且返回的是一个xrange对象,每次遍历只返回一个值,而range()返回的是一个列表,一次性计算并返回所有的值。因此,xrange()的执行效率要高于range()。
x = xrange(0,8)
print x           #输出:xrange<8>
print x[0]        #输出:0
print x[7]        #输出:8

# 冒泡排序
def bubbleSort(numbers):     # 冒泡算法的实现
    for j in xrange(len(numbers) - 1, -1, -1):
        for i in xrange(j):
            if numbers[i] > numbers[i+1]:       # 把数值小的数字放到顶端
                numbers[i], numbers[i+1] = numbers[i+1], numbers[i]  
            print numbers

def main():                                     # 主函数
    numbers = [23, 12, 9, 15, 6]
    bubbleSort(numbers)

if __name__ == '__main__':
    main()

第4章 内置数据结构

  Python提供的几种内置数据结构:元组、列表、字典和序列。 
4.1  元组
   4.1.1元组的创建
       元组是“写保护”的,即元组创建后不能再做任何修改。
       **格式:tuple_name = (元素1,元素2,...)**
       注意:如果创建有唯一元素的元组,需要在该元素后面添加一个逗号。
    4.1.2  元组的访问
        元组中的元素通过索引访问。格式:tuple_name[n],其中n是从0开始计数的。
       负数索引:从元组的尾部开始计数,最尾端的元素索引表示为“-1",次尾端的表示为”-2“,依次类推。
       分片索引:分片是从第1个索引到第2个索引(不包含第2个索引的元素)所指定的所有元素。分片索引可以是正数或负数,两个索引之间用冒号分隔。格式:tuple_name [m:n]
#负数索引和分片索引
tuple = ("apple", "banana", "grape", "orange")
print tuple[-1]      #输出:orange
print tuple[-2]      #输出:grape
tuple2 = tuple[1:3]
tuple3 = tuple[0:-2]
tuple4 = tuple[2:-2]
print tuple2         #输出:('banana','grape')
print tuple3         #输出:('apple','banana')
print tuple4         #输出:()

#如何访问二元元组
fruit1 = ("apple", "banana")
fruit2 = ("grape", "orange")
tuple = (fruit1, fruit2)
print tuple     输出:(('apple','banana'),('grape','orange')
print "tuple[0][1] =",tuple[0][1]    #输出第一组的第二个元素:banana
print "tuple[1][1] =",tuple[1][1]    #输出第二组的第二个元素:orange
  • 4.1.3 元组的遍历
    遍历元组需要用到range( )【返回一个由数学组成的列表】和 len( )【计算元组中元素的个数】函数。
#使用range() 进行二元元组的遍历
tuple = (("apple", "banana"),("grape", "orange"),("watermelon",),("grapefruit",))
for i in range(len(tuple)):
    print "tuple[%d] :" % i, "" ,
    for j in range(len(tuple[i])):
        print tuple[i][j], "" ,
    print         #打完一个元组后回车

输出的结果: tuple[0]: apple  banana
           tuple[1]: grape  orange
           tuple[2]: watermelon
           tuple[3]: grapefruit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值