【python编程】基础知识2—语句:循环,条件,break,pass,continue

本篇介绍python语言中所有的语句,判断语句if,循环语句for和while,以及用到的break,continue和pass等语句。

首先说一下一个管用C++(但是一点都不精通)的憨批对于python编程的看法。C++的语句大家都知道,无论条件还是循环语句,都在后面跟一对大括号 { },大括号里就是该条件下执行的语句,但python没有大括号,其是以对其的方式来标志哪些子句是哪个条件下的执行体,这样就使得语句被迫结构很整齐,感觉这是很好的一点。还有一点就是无论循环还是条件语句,判断条件后面都有一个冒号,以表示开始执行。

且在python中,可以不把判断条件用小括号括起来。

其余的在后边总结。下面开始正式内容。

一、条件语句(if-else)

例句1

a=1
while a<7:
    if a%2==0 :
        print("%d is even" % a)
    else:
        print(a,"is odd")
    a+=1

可以看到比较简单,总结为以下几点:

(1)if和else后面都要加冒号,表示判断体的开始

(2)判断条件可以用<=,&,|,也可以用1<a<3这种连续区域(不同于C);

(3)执行体的结束以语句对齐为标志;

(4)有很重要的一点,若干个判断条件同时需要满足时,需要把判断条件各自括起来

if (a%2==0) & (a<5) & (a>2) :

例句2:

num = 3
if num == 3:            # 判断num的值
    print('boss')
elif num < 0:           # 值小于零时输出
    print('error')
else:
    print('roadman')

需要注意,

(1)即else-if缩写为elif;

(2)由于python不支持switch,所以只能用多种情况elif;

例句3:

num = 9
if num >= 0 and num <= 10:  # 判断值是否在0~10之间
    print('hello')

num = 5
if num > 0 or num < 4:  # 判断值是否在小于0或大于10
    print('hello')
else:
    print('undefine')

表达多个条件同时成立,不仅可以用&和|,还可以用and和or,而且用后者的时候不需要用括号括起来每个条件。

例句4:

a=1
while a<7:
    if a%2==0: print("%d is even" % a)
    else: print(a,"is odd")
    a+=1

简单的句子可以直接加在冒号后边,不需要另起一行。

二、循环语句

循环类型:分为for循环和while循环,还要二者相互嵌套。

循环控制语句:

(1)break语句:终止循环,跳出整个循环;

(2)continue语句:跳出该次循环,执行下一次循环;

(3)pass语句:空语句,保持结构的完整性;

注意:上面三者都是循环控制语句,都能结束/跳出循环,而不是跳出判断语句。

1. while语句

例句1:

i = 1
while i < 10:
    i += 1
    if i%2 > 0:     # 奇数时跳过,偶数时输出
        continue
    print(i)

以上是一个简单的例句,使用了continue。

例句2:

count = 0
while count < 5:
   print (count, " is  less than 5")
   count = count + 1
else:
   print (count, " is not less than 5")

在python中,while-else语句能在循环条件在false时执行else语句块。这个可以用来标志判断结束,建议大家可以使用,但没有什么太大用处。

例句3:

numbers=[12,37,5,42,8,3]
odd=[]
even=[]
while len(numbers)>0:
    number=numbers.pop()
    if number%2==0:
        even.append(number)
    else:
        odd.append(number)
print(even)
print(odd)

这个是一个比较复杂的例句,涉及到了列表的append()和pop()操作,此处不详解。

2. for语句

一般格式为for expr  in rangeexpr: 循环体。

一般会用到range(),具体例句如下。

例句1:

for letter in 'Python':  # 第一个实例
    print("当前字母: %s" % letter)

fruits = ['banana', 'apple', 'mango']
for fruit in fruits:  # 第二个实例
    print('当前水果: %s' % fruit)
print("Good bye!")

输出实例:
当前字母: P
当前字母: y
当前字母: t
当前字母: h
当前字母: o
当前字母: n
当前水果: banana
当前水果: apple
当前水果: mango
Good bye!

注解:一般来说,for后面的范围如果直接写了一个字符串或者一个列表,那么前面的单个变量就代表字符串中的每个字符或者列表中每个元素

访问列表中的每个元素或者字符串中每一个字符有很多种方法,如还可以通过len()函数。此处的range()函数里边有两个参数,分别代表的上下限(一个参数就是上限,下限0)

fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
    print('当前水果 : %s' % fruits[index])

print("Good bye!")

输出:
当前水果 : banana
当前水果 : apple
当前水果 : mango
Good bye!

例句2:

for num in range(20):  # 迭代 10 到 20 之间的数字
   for i in range(2,num): # 根据因子迭代
      if num%i == 0:      # 确定第一个因子
         break            # 跳出当前循环
   else:                  # 循环的 else 部分
      print ('%d 是一个质数' % num)

输出:
0 是一个质数
1 是一个质数
2 是一个质数
3 是一个质数
5 是一个质数
7 是一个质数
11 是一个质数
13 是一个质数
17 是一个质数
19 是一个质数

这里range()我分别写了一个参数和两个参数的情况。而且忽然发现这个else真的很巧妙,如果for循环体没有执行的话,他才会执行,弥补了C语言中这样的东西必须加一个flag参数记录,大家可以注意一下。

3. continue,pass语句

例句1:

var = 6
while var > 0:
    var = var -1
    if var == 2 or var == 4:
        continue
    print ('当前值 :', var)
print ("Good bye!")

continue有删除的作用,希望记下,投入使用。

例句2:

pass是空语句,为了保持结构的完整性。python 3.X版本中可以写也可以不写,一般用于def函数占位置

# 占位置
def sample(n_samples):
    pass
for letter in 'Python':
   if letter == 'h':
      pass
      print '这是 pass 块'
   print '当前字母 :', letter
print "Good bye!"

输出:
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
Good bye!

总结:

(1)以行结尾,每行结束时不用分号;

(2)每个语句后面用冒号;

(3)注意&和|,以及and和or的各自使用括号的情况;

(4)注意循环语句中配的else语句,应用比较巧妙,弥补了C语言中的不足;

(5)continue用来删除,pass用来def函数占位置

(6)range()函数分为一个参数和两个参数;

(7)列表中的各种函数,append()和pop()

(8)遍历字符串,列表,元组等的方法;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值