if 条件: 知足条件时要作的事情1 知足条件时要作的事情2 知足条件时要作的事情3 ...(省略)... else: 不知足条件时要作的事情1 不知足条件时要作的事情2 不知足条件时要作的事情3 ...(省略)...
demo1python
chePiao = 1 # 用1表明有车票,0表明没有车票 if chePiao == 1: print("有车票,能够上火车") print("终于能够见到Ta了,美滋滋~~~") else: print("没有车票,不能上车") print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~")
运行结果:dom
结果1:有车票的状况网站
有车票,能够上火车
终于能够见到Ta了,美滋滋~~~
结果2:没有车票的状况spa
没有车票,不能上车
亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~
demo2code
you = input("你去么?------") #去或者不去 your_wife = input("你老婆去么------") #去或者不去 # if you == "去" or your_wife == "去" if you == "去" and your_wife == "去": print("能够申请贷款!") else: print("不能够申请贷款!")
运行结果:对象
demo3blog
skin_color = input("你白么?------") property = int(input("请输入你的财产总和------")) beautiful = input("你美么?------") if (skin_color == "白" and property >= 10000000 and beautiful == "美"): print("白富美...") else: print("普通人...")
运行结果:游戏
<1>if xxx: 或者 else xxx: 后面的语句必须缩进,缩进为四个空格(冒号后面必须跟缩进,不局限于这两种。这是python规定的语法,不缩进会报错,其余不须要缩进的地方缩进的话也会报错)开发
<2>冒号后面全部连续缩进的代码块可看作是一个语句字符串
<3>若是冒号后面遇到没有缩进的语句,就不属于if 代码块
就是取反的做用
demo
a = 90 if not(a < 60 and a > 100): print("及格!")
运行结果:
及格!
想想:
if能完成当xxx时作事情
if-else能完成当xxx时作事情1,不然作事情2
若是有这样一种状况:当xxx1时作事情1,当xxx2时作事情2,当xxx3时作事情3,那该怎么实现呢?
答: elif
elif的使用格式以下:
if xxx1: 事情1 elif xxx2: 事情2 elif xxx3: 事情3
说明:
demo
score = 77 if score>=90 and score<=100: print('本次考试,等级为A') elif score>=80 and score<90: print('本次考试,等级为B') elif score>=70 and score<80: print('本次考试,等级为C') elif score>=60 and score<70: print('本次考试,等级为D') elif score>=0 and score<60: print('本次考试,等级为E')
2.1 能够和else一块儿使用
if 性别为男性: 输出男性的特征 ... elif 性别为女性: 输出女性的特征 ... else: 第三种性别的特征 ...
说明:
2.2 elif必须和if一块儿使用,不然出错
需求:获取用户输入(1-7),输入一、输出Monday,输入二、输出Tuesday ...
代码:
num = int(input("请输入一个数字(1 - 7):")) if num == 1: print("Monday") elif num == 2: print("Tuesday") elif num == 3: print("Wednesday") elif num == 4: print("Thursday") elif num == 5: print("Friday") elif num == 6: print("Saturday") elif num == 7: print("Sunday") else: print("输入错误!")
运行结果:
想想:
坐火车或者地铁的实际状况是:先进行安检若是安检经过才会判断是否有车票,或者是先检查是否有车票以后才会进行安检,即实际的状况某个判断是再另一个判断成立的基础上进行的,这样的状况该怎样解决呢?
答:if嵌套
if 条件1: 知足条件1 作的事情1 知足条件1 作的事情2 ...(省略)... if 条件2: 知足条件2 作的事情1 知足条件2 作的事情2 ...(省略)...
说明
demo1:
ticket = int(input("请拿出你的车票(1表示有,0表示没有):")) if ticket == 1: dao_lenght = int(input("请输入刀子的长度:")) print("有车票,能够进站") if dao_lenght < 10: print("经过安检") print("终于能够见到Ta了,美滋滋~~~") else: print("没有经过安检") print("刀子的长度超过规定,等待警察处理...") else: print("没有车票,不能进站") print("亲爱的,那就下次见了,一票难求啊~~~~(>_<)~~~~)")
运行结果:
demo2
sex = input("请输入你对象的性别:") if sex == "女": skin_color = input("她白么?------") property = int(input("请输入她的财产总和------")) beautiful = input("她美么?------") if (skin_color == "白" and property >= 10000000 and beautiful == "美"): print("白富美...") else: print("普通人...") elif sex == "男": height = input("他高么?------") property = int(input("请输入他的财产总和------")) cool = input("他帅么?------") if (height == "高" and property >= 10000000 and cool == "帅"): print("高富帅...") else: print("普通人...") else: print("中国不合法公民!")
运行结果:
demo3
猜拳游戏,要求效果:
参考代码:
import random #1. 提示并获取用户的输入 player = int(input("请输入 0--- 剪刀 1---石头 2---布 ")) #2.让电脑出一个 computer = random.randint(0,2) #随机产生0到2的整数 #3. 判断用户的输入,而后显示对应的结果 #玩家获胜的条件 if ((player==0 and computer==2) or (player==1 and computer==0) or (player==2 and computer==1)): print("赢了,请收下游戏币!") #玩家平局的条件 elif (player == computer): print("平局了,决战到天亮!") else: print("输了,回家拿钱!")
运行结果:
while 条件: 条件知足时,作的事情1 条件知足时,作的事情2 条件知足时,作的事情3 ...(省略)...
demo1
i = 1 while i <= 10: print(i) i = i + 1
运行结果:
参考代码以下:
i = 1 sum = 0 while i<=100: sum = sum + i i += 1 print("1~100的累积和为:%d"%sum)
参考代码以下:
i = 1 sum = 0 while i<=100: if i%2 == 0: sum = sum + i i+=1 print("1~100的累积和为:%d"%sum)
while 条件1: 条件1知足时,作的事情1 条件1知足时,作的事情2 条件1知足时,作的事情3 ...(省略)... while 条件2: 条件2知足时,作的事情1 条件2知足时,作的事情2 条件2知足时,作的事情3 ...(省略)...
要求:打印以下图形:
* * * * * * * * * * * * * * *
参考代码:
i = 1 while i<=5: j = 1 while j<=i: print("*",end='') #让print默认不换行 j+=1 print("\n") i+=1
参考代码:
i = 1 while i<=9: j=1 while j<=i: print("%d*%d=%-2d "%(j,i,i*j),end='') j+=1 print('\n') i+=1
注:博客前面有详细表格
例:
j = j + 1 <=> j += 1 c = c -a <=> c -= a 其余同理 特殊: a = 4 a*=10-30+20 <=> a=a*(10-30+20) 而不是 a=a*10-30+20 因此若是使用复合赋值运算,右边是一个表达式,记住加一个小括号
像while循环同样,for能够完成循环的功能。
在Python中 for循环能够遍历任何序列的项目,如一个列表或者一个字符串等。
for 临时变量 in 列表或者字符串等: 循环知足条件时执行的代码 else: 循环不知足条件时执行的代码
demo1
name = 'dongGe' for x in name: print(x)
运行结果以下:
demo2
name = ' ' for x in name: print(x) else: print("没有数据")
运行结果以下:
demo
i = 1 num = 1 while i <= 100: if i%2 == 0: print(i) num += 1 if num == 20: break i += 1
运行结果:
<1>for循环
普通的循环示例以下:
name = 'dongGe' for x in name: print('----') print(x)
运行结果:
带有break的循环示例以下:
name = 'dongGe' for x in name: print('----') if x == 'g': break print(x)
运行结果:
<2>while循环
普通的循环示例以下:
i = 0 while i<10: i = i+1 print('----') print(i)
运行结果:
带有break的循环示例以下:
i = 0 while i<10: i = i+1 print('----') if i==5: break print(i)
运行结果:
break的做用:用来结束整个循环
<1> for循环
带有continue的循环示例以下:
name = 'dongGe' for x in name: print('----') if x == 'g': continue print(x)
运行结果:
<2> while循环
带有continue的循环示例以下:
i = 0 while i<10: i = i+1 print('----') if i==5: continue print(i)
运行结果:
continue的做用:用来结束本次循环,紧接着执行下一次的循环
break/continue只能用在循环中,除此之外不能单独使用
break/continue在嵌套循环中,只对最近的一层循环起做用
demo
i = 1 while i<=5: j = 1 while j<=i: print(" * ",end='') j += 1 break #break在哪层的循环里,就结束哪层的循环,就近原则 #continue同理 print("") #换行 i += 1
运行结果:
1. 使用if,编写程序,实现如下功能:
2. 使用while,完成如下图形的输出
* * * * * * * * * * * * * * * * * * * * * * * * *
1. 根据如下信息提示,请帮小明计算,他每个月乘坐地铁支出的总费用
提示信息:
北京公交地铁新票价肯定
据北京市发改委网站消息称,北京市将从2015年12月28起实施公共交通新票价:地铁6千米(含)内3元,公交车10千米(含)内2元,使用市政交通一卡通刷卡乘公交车普通卡5折,学生卡2.5折。
具体实施方案以下:
1、城市公共电汽车价格调整为:10千米(含)内2元,10千米以上部分,每增长1元可乘坐5千米。使用市政交通一卡通刷卡乘坐城市公共电汽车,市域内路段给予普通卡5折,学生卡2.5折优惠;市域外路段维持现行折扣优惠不变。享受公交政策的郊区客运价格,由各区、县政府按照城市公共电汽车价格制定。
2、轨道交通价格调整为:6千米(含)内3元;6千米至12千米(含)4元;12千米至22千米(含)5元;22千米至32千米(含)6元;32千米以上部分,每增长1元可乘坐20千米。使用市政交通一卡通刷卡乘坐轨道交通,每天然月内每张卡支出累计满100元之后的乘次,价格给予8折优惠;满150元之后的乘次,价格给予5折优惠;支出累计达到400元之后的乘次,再也不享受打折优惠。
要求:
假设每月,小明都须要上20天班,每次上班须要来回1次,即天天须要乘坐2次一样路线的地铁;每个月月初小明第一次刷公交卡时,扣款5元;编写程序,帮小明完成每个月乘坐地铁须要的总费用
必作题1
代码:
work_user = "受害者" work_passwd = "123456" user = input("请输入用户名:") passwd = input("请输入密码:") if (user == work_user) and (passwd == work_passwd): print("-"*10) print("欢迎来到侏罗纪世界!") print("-"*10) else: print("没法登陆!")
运行结果:
必作题2
代码:
i = 1 while i<=5: j = 1 while j<=i: print('*',end='') j+=1 print("\n") i+=1 while i>=1: j = 1 while j<=i-1: print('*',end='') j+=1 print("\n") i-=1
运行结果:
选作题
代码:
#小明每个月月初第一次刷公交卡,扣款5元,说明从他家到他们公司坐电汽须要花费5元 #从电汽的价格表反推,能够得出 家--> 公司 的距离为50千米 #以上结论是在把距离当作位移的状况下成立(毕竟坐电汽和坐地铁的路线不同,距离#确定不同) #接下来编写一个坐地铁根据距离求费用的程序 #1. 获取用户输入的距离,单位为千米 import math distance = float(input("请输入从你家到大家公司的距离(千米):")) #2. 编写小明每个月坐地铁的消费 if (distance > 0) and (distance <= 6): month_money = (3*2)*20 #乘以2是由于来回两趟,再乘以20是每个月坐20天 elif (distance > 6) and (distance <= 12): month_money = (4*2)*20 elif (distance > 12) and (distance <= 22): month_money = (5*2)*20 elif (distance > 22) and (distance <= 32): month_money = (6*2)*20 elif distance > 32: up_32 = math.ceil((distance - 32)/20) #向上取整ceil(),向下取整floor(),四舍五入round() #print(up_32) month_money = ((6 + up_32)*2)*20
#3. 计算是否有折扣 if month_money >= 100: month_money *= 0.8 print("您本月的地铁消费为:%d元" % month_money) elif month_money >= 150: month_money *= 0.5 print("您本月的地铁消费为:%d元" % month_money) else: print("您本月的地铁消费为:%d元" % month_money)
运行结果: