python基础--程序交互、格式化输出、流程控制、break、continue (2)

你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是Python的一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?

在其它的语言里,大多通过{}来确定代码块,比如C,C++,Java,Javascript都是这样,看一个JavaScript代码的例子

var age = 56 if ( age < 50){ console.log("还能折腾") console.log('可以执行多行代码') }else{ console.log('太老了') } # not的使用,not不是的意思 a = 30 if not (a>0 and a<=50): print("在0到50之间....")

在有{}来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了。

Python是门超级简洁的语言,发明者定是觉得用{}太丑了,所以索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进。

Python的缩进有以下几个原则:

顶级代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进

同一级别的代码,缩进必须一致

官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。

4.多分支

回到流程控制上来,if...else ...可以有多个分支条件

if 条件: pass # 满足条件执行代码 elif 条件: pass # 上面的条件不满足就走这个 elif 条件: pass # 上面的条件不满足就走这个 elif 条件: pass # 上面的条件不满足就走这个 else: pass # 上面所有的条件不满足就走这段 # 这里每一个条件只要满足其中一个就直接执行后面的代码。执行了一个条件满足后的代码,那么就会推出这个多分支。

5.我们一块写几个例题

# 例子1 age_of_student = 48 guess = int(input(">>:")) if guess > age_of_student : print("猜的太大了,往小里试试...") elif guess < age_of_student : print("猜的太小了,往大里试试...") else: print("恭喜你,猜对了...") # 例子2 sex = input("请输入你的性别:") if sex == "男": print("你是男性,可以留胡子....") elif sex == "女": print("你是女性,可以留长头发....") #elif sex == "中性": else: print("你是第3中 性别,想干啥就干啥.....") # 例子3 #1. 获取用户的输入 num = int(input("请输入一个数字(1~7):")) #2. 判断用户的数据,并且显示对应的信息 if num==1: print("星期1") elif num==2: print("星期2") elif num==3: print("星期3") elif num==4: print("星期4") elif num==5: print("星期5") elif num==6: print("星期6") elif num==7: print("星期7") else: print("你输入的数据有误....")

上面的例子,根据你输入的值不同,会最多得到3种不同的结果

再来个匹配成绩的小程序吧,成绩有ABCDE5个等级,与分数的对应关系如下

# A 90-100 # B 80-89 # C 60-79 # D 40-59 # E 0-39

要求用户输入0-100的数字后,你能正确打印他的对应成绩

score = int(input("输入分数:")) if score > 100: print("我擦,最高分才100...") elif score >= 90: print("A") elif score >= 80: print("B") elif score >= 60: print("C") elif score >= 40: print("D") else: print("太笨了...E") # 用户只要满足其中一个条件,那么就会执行后面的代码。当执行了某一个条件时,就会执行对应代码。当执行结束后,# 就会退出这个多分支

这里有个问题,就是当我输入95的时候 ,它打印的结果是A,但是95 明明也大于第二个条件elif score >=80:呀, 为什么不打印B呢?这是因为代码是从上到下依次判断,只要满足一个,就不会再往下走啦,这一点一定要清楚呀!

例题:

# 例子1 ticket = 1#1表示有车票 0表示没有车票 knifeLenght = 48#cm #先判断是否有车票 if ticket==1: print("通过了车票的检测,进入到了车站,接下来要安检了") #判断刀的长度是否合法 if knifeLenght<=10: print("通过了安检,进入到了候车厅") print("马上就要见到TA了,很开心.....") else: print("安检没有通过,等待公安处理....") else: print("兄弟 你还没有买票了,先去买票 才能进站....") # 例子2 import random #1. 提示并获取用户的输入 player = int(input("请输入 0剪刀 1石头 2布:")) #2. 让电脑出一个 computer = random.randint(0,2) #2. 判断用户的输入,然后显示对应的结果 #if 玩家获胜的条件: if (player==0 and computer==2) or (player==1 and computer==0) or (player==2 and computer==1): print("赢了,,,,可以去买奶粉了.....") #elif 玩家平局的条件: elif player==computer: print("平局了,,,洗洗手决战到天亮....") else: print("输了,,,回家拿钱 再来....")

(4)流程控制之--while...else...

与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

i = 1 while i<=100: print("%d"%i) #print(i) i = i+1

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyxsw.html