复习 if条件 for序列 for字典 循环退出 while

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复习 if条件 for序列 for字典 循环退出 while相关的知识,希望对你有一定的参考价值。

if 条件

if 语法

- if expression

    statement(s)

注意:python 使用缩进作为其语句的分组方法,建议使用4个空格


if not 1 > 2 and 1 == 1:
    print 'hello python'
    print 'True'

这个例子中,逻辑非的优先级比较高

先执行:

    not 1 > 2

在执行:

    1==1


if 10 < 2:
    print 'hello python'
    print 'True'
else:
    print 'ha'
print 'main'

这个例子中,print  'main' 这个条件是排除在 if 语句外的,无论如何都会输出。


if 多个条件,例子如下:

if 10 < 2:
    print 'hello python'
    print 'True'
elif 'a':
    print 'a'
else:
    print 'ha'
print 'main'

总结:

if条件练习,成绩分类

score = int(raw_input("Please a num: "))
if score >= 90:
    print "A"
    print 'very good'
elif score >= 80:
    print 'B'
    print 'good'
elif score >= 70:
    print 'C'
    print 'pass'
else:
    print 'D'
print 'END'


布尔值

逻辑值(bool)包含了两个值:

-True : 表示非空的量(比如:string、tuple、list、set、dictionary),所有非零数。

-False :   表示0,None,空的量等。


技术分享图片

上栗中,用到了一个字符串的方法,yn.lower ,这个方法的作用把收到的字符串转为小写的。



for序列

循环

循环是一个结构,导致程序要重复一定的次数。

条件循环也是如此,当条件变为假,循环结束。


for循环

在序列里,使用for循环遍历

语法:

        - for iterating_var  in  sequence:

                statement(s)


常用for循环

for i in range(1, 11):
    print i

对序列做个遍历。


含有if条件的for循环

for i in range(1, 11):
    if i % 2 == 0:
        print i

注意缩进


列表的重写:

几个栗子:

print [i for i in range(1, 11)]
print [i * 2 for i in range(1, 11)]
print [i for i in range(1, 11) if i % 2 == 0]
print [i ** 2 for i in range(1, 11)]
for i in [i ** 2 for i in range(1, 11)]
    print i,

在一行中打印出列表里的元素。



用遍历的方式访问字典

定义字典的方法:

dic = {'a':1, 'b':2}
dic.fromkeys('abcdefgh',100)


  1. 创建字典

技术分享图片

  2.遍历字典的key和值

技术分享图片

 3.格式化输出

技术分享图片

 4.items方法

技术分享图片

5.iteritems 方法

技术分享图片

同range和xrange的区别一样,items和iteritems也累死,iteritems也返回的是对象,不占用内存,

只有调用到的时候,才会占用单个的内存。


6.乘法口诀

for i in xrange(1,10):
    for j in xrange(1, i+1):
        print "%sx%s=%s" % (j, i, j*i)
    print

i 控制行,j 控制列,末尾 print 表示打印换行符


循环退出

for循环也有else

for 循环如果正常结束,才会执行else语句。


举例:

for i in xrange(10):
    print i
else:
    print 'main end'

else 后面的也会输出。


1.如果不让语句执行完 ,break ,退出循环,继续执行程序,则else不会输出:

for i in xrange(10):
    print i
    if i == 5:
        break
else:
    print 'main end'

有 break 没有正常结束,不输出最后的代码。


2.continue 退出当前循环,继续后面的循环

for i in xrange(10):
    if i == 3:
        continue
    if i == 5:
        break
    print i
else:
    print 'main end'

当 i 等于3 时候,循环内部,下面的语句不继续执行了,跳出当前,继续下一次循环


3.pass  占位

for i in xrange(10):
    if i == 3:
        countinue
    elif i == 5:
        break
    elif i == 6:
        pass
    print i
else:
    print 'main end'


4.彻底退出程序

import sys
import time

for i in xrange(10):
    if i == 3:
        continue
    elif 1 == 5:
        continue
    elif i == 6:
        pass
    elif i == 7:
        sys.exit()
    print i
else:
    print 'main end'
print "hahahah"

所有sys.exit()下的程序,都不会输出。


random.randint() 随机数模块

技术分享图片


while 循环

while 和 for 循环的区别

- for 循环用在有次数的循环上

- while 循环用在有条件的控制上


while 循环,直到表达式为假,才退出。

while 循环,表达式是一个逻辑表达式,必须返回一个True或False。


语法:

    while expression:

        statement(s)


while循环里有break,也可以退出循环


死循环:

永远成立,永远不会退出的循环。

while True:
    print 'hello'


判断初始值

n = 0
while True:
    if n == 10:
        break
    print n, 'hello'
    n += 1

执行10次就break了~


读取键盘输入

while True:
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if x == "q":
        break


变量使用:

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")


判断的使用

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if not x :
        break

当 x 为 非空的时候,就退出循环。


while 也有else

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if not x :
        break
else:
    print 'world'

如果不是正常结束,就会执行else。


continue 用法

x = ''
while x != 'q':
    print 'hello'
    x = raw_input("Please input something, q for quit:")
    if not x :
        break
    if x == 'quit':
        continue
    print 'continue'
else:
    print 'world'


以上是关于复习 if条件 for序列 for字典 循环退出 while的主要内容,如果未能解决你的问题,请参考以下文章

ASP中的条件语句和循环语句

linux 简单记录4--if,for,while,case 流程控制

if/while/for 解决数学难题 Python实例

Python里for和while的区别(74)

JS基础笔记——语句篇

【swift】if case,guard case,for case