1. if-esle流程判断语句
我们来直接看一个例子,如下,判断我们定义的用户名和用户输入的用户名是否一致。代码当中有几个注意点:
判断的时候用双等号
表示判断是否一致(三个等号表示赋值)你有没有注意到这里不是用的大括号而是用的冒号!python3对父级和子级的写法是极为严格的,就像这里的if跟else,都是父级,需要顶格写;下面的两个子级(print那里)就需要缩进一个tab。
_password="123456" username=input("username:") password=input("password:") if_username==usernameandpassword==_password: print("yes,ok") else: print("nosuchperson")_username="bentou"
run起来看一眼什么效果(两种情况):
接着我们再来看一个例子:猜年龄
,上面那个是最最最基础的if-else语句,那我们之前学习其他语言的时候肯定有看到elseif啊之类的。看看代码先
age_of_bentou=20 guess_age=int(input("guess:")) ifguess_age>age_of_bentou: print("toobig") elifguess_ageprint("toosmall") else: print("yougitit!")#猜年龄
这个很明显就是把用户输入的年龄跟bentou的年龄做个比较,分情况打印
。
那大家可能就会想这个不好一直猜下去,那怎么样使用户在没有猜对的情况下一直猜下去呢?我们很容易可以想到循环
。
2. 循环语句
2.1 while循环
依旧是猜年龄
,代码如下:
age_of_bentou=20 whileTrue: guess_age=int(input("guess:")) ifguess_age>age_of_bentou: print("toobig") elifguess_ageprint("toosmall") else: print("yougitit!") break#猜年龄
这里有一个break,如果没有break会怎么样呢?这个程序就会一直让你guess下去
。提到break就会想到continue。区别:
(1)continue语句只结束本次循环,而不是终止整个循环的执行;
(2)break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。
从产品的角度来讲,这个代码其实还可以做一些优化, 比如在猜的过程当中,如果这个人一直猜错,我们不能一直让他猜吧,所以我们可以给他一个上限,比如说最多可以猜错三次
。代码如下:
age_of_bentou=20 count=0 whilecount<3: guess_age=int(input("guess:")) ifguess_age>age_of_bentou: print("toobig") elifguess_ageprint("toosmall") else: print("yougitit!") break count+=1 else: print("youhavetriedtoomanytimes!")#猜年龄
我们可以看到这里有点跟其他语法不一样,python的while是可以跟else的
,惊不惊喜,意不意外!效果如下:
2.2 for循环
同样的,还是猜年龄,我们来用for循环试试:
age_of_bentou=20 foriinrange(3): guess_age=int(input("guess:")) ifguess_age>age_of_bentou: print("toobig") elifguess_ageprint("toosmall") else: print("yougitit!") break else: print("youhavetriedtoomanytimes!")#猜年龄
for i in range(3):
这个意思就是从i=0开始,循环3次
,所以效果和上面的while完全一样。
for循环还有一个功能,就是它可以有步长,看下面这两个对比:
一个是从0-9循环10次:
print("loop:",i)foriinrange(10):
效果:
一个是从0-9循环,每次跳一个再循环,这时候步长就来了:
print("loop:",i)foriinrange(0,10,2):
效果:
over!
最后附上一个本周(假装是本周)的学习报告: