Day 2.条件与循环

Task02.条件与循环

一.条件语句
1.简单的if/else语句

age = 20
if age >= 18:
    print('your age is', age)
    print('adult')

注意:Python使用缩进而不是大括号来标记代码块边界
根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了

age = 3
if age >= 18:
    print('your age is', age)
    print('adult')
else:
    print('your age is', age)
    print('teenager')
your age is 3
teenager

2.elif

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

elif是else if的缩写,需要注意的是:if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。

age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')
teenager

3.asert关键词
assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。

my_list = ['ncepu']
my_list.pop(0)
assert len(my_list) > 0
AssertionError                           
 Traceback (most recent call last)
<ipython-input-6-fc1260d46b61> in <module>
      1 my_list = ['ncepu']
      2 my_list.pop(0)
----> 3 assert len(my_list) > 0

AssertionError: 

在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。

二.循环语句
1.while循环

sum = 0
n = 100
while n > 0:
    sum = sum + n
    n = n - 1
print(sum)
5050

循环体写在冒号和缩进之间。
2.for循环

for i in 'Study Love me':
    print(i, end='')
Study Love me

for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。
一些例子:
(1).

names = ['Tom', 'Jack', 'Rose']
for name in names:
    print(name)
Tom
Jack
Rose

(2).找质数

for i in range(101):
    flag=0
    for j in range(1,i):
        if i%j==0: 
            flag=flag+1
    if flag==1:
        print(i,end=' ')
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

其中,range()函数,可以生成一个整数序列,比如range(5)生成的序列是从0开始小于5的整数
还有一种用法:

for i in range(0,9,2):
    print(i,end=' ')
0 2 4 6 8

3.enumerate()函数
enumerate(sequence, [start=0])
equence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。
返回 enumerate(枚举) 对象

numbers=[1,2,3,4,5]
spread = list(enumerate(numbers))
print(spread)
spread = list(enumerate(numbers,start=5))
print(spread)
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)]
[(5, 1), (6, 2), (7, 3), (8, 4), (9, 5)]

enumerate()与 for 循环的结合使用

languages = ['Python', 'R', 'Matlab', 'C++']
for language in languages:
    print('I love', language)
print('awsl!')
I love Python
I love R
I love Matlab
I love C++
awsl
for i, language in enumerate(languages, 1):
    print(i, 'I love', language)
print('awsl!')
1 I love Python
2 I love R
3 I love Matlab
4 I love C++
awsl!

4.pass语句
pass 语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而 pass 语句就是用来解决这些问题的。

def fun():
SyntaxError: unexpected EOF while parsing
def fun():
    pass
print('I love python')
I love python

5.综合

passwdList = ['123', '345', '890']
valid = False
count = 3
while count > 0:
    password = input('enter password:')
    for item in passwdList:
        if password == item:
            valid = True
            break
            
    if not valid:
        print('invalid input')
        count -= 1
        continue
    else:
        break
        enter password:568
invalid input
enter password:563
invalid input
enter password:890

**

总结

**
今天比较生疏的地方是enumerate()函数、assert关键词。
然后Python的这种以缩进代替大括号的方式我还不太习惯,经常有expected an indented block这样的错误。最后就是写博客还是对马老师的模板依赖太多,争取以后有更多自己原创的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值