您的位置 首页 java

python知识点:python之分支结构

if语句的使用

python 中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。下面模拟个认证的例子来说明一下,

username=str(raw_input("请输入用户名:"))
password=str(raw_input("请输入密码:"))
if username == "admin" and password=="12345" :
 print ("身份认证成功")
else:
 print ("身份认证失败")
 

以上的代码还是存在不严谨的,我们还需要通过判断用户输入的是否为空值。这里需要用到if的嵌套。修改后的代码如下:

username=str(raw_input("请输入用户名:"))
password=str(raw_input("请输入密码:"))
if username !='' and password !='':
 if username == "admin" and password=="12345" :
 print ("身份认证成功")
 else:
 print ("身份认证失败")
else:
 print("请输入用户名和密码")
 

巩固练习

练习1:英制单位与公制单位互换

#1英寸=25.4毫米
value= float (raw_input('请输入长度:'))
unit=str(raw_input('请输入单位:'))
if unit == 'in' or unit == '英寸':
 print('%f英寸=%f厘米' %(value,value*2.54))
elif unit =='cm' or unit =='厘米':
 print('%f英寸=%f厘米' % (value, value / 2.54))
else:
 print('请输入有效的单位')
 

练习2:与电脑玩剪刀石头布游戏

import random
payer=int(raw_input('请输入你的指令(0:石头,1:剪刀,2:布):'))
comptuer=random.randint(0,2)
if (payer == 1 and comptuer == 2 ) or (payer == 0 and comptuer == 1 ) or (payer== 2 and comptuer==0):
 print('电脑出:{},你出{},你赢了'.format(comptuer,payer))
elif (payer== comptuer):
 print('电脑出:{},你出{},打平'.format(comptuer, payer))
else:
 print('电脑出:{},你出{},你输了'.format(comptuer, payer))
 

针对以上的小游戏,我们有这样一个需求,三盘两胜方可算赢。那么程序又如何修改呢。参考如下:

import random
comptuer_win=0
payer_win=0
while True :
 payer=int(raw_input('请输入你的指令(0:石头,1:剪刀,2:布):'))
 comptuer=random.randint(0,2)
 if (payer == 1 and comptuer == 2 ) or (payer == 0 and comptuer == 1 ) or (payer== 2 and comptuer==0):
 print('电脑出:{},你出{},你赢了'.format(comptuer,payer))
 payer_win+=1
 print(payer_win)
 elif (payer== comptuer):
 print('电脑出:{},你出{},打平'.format(comptuer, payer))
 else:
 print('电脑出:{},你出{},你输了'.format(comptuer, payer))
 comptuer_win += 1
 if comptuer_win == 2 :
 print('电脑最终胜出')
  break 
 elif payer_win == 2 :
 print('电脑最终胜出')
 break
 

练习3:输入三条边长如果能构成三角形就计算周长和面积

import math
a=int(raw_input("请输入三角形的第一条边长:"))
b=int(raw_input("请输入三角形的第二条边长:"))
c=int(raw_input("请输入三角形的第二条边长:"))
if a+b > c and a+c>b and b+c >a :
 print("三角形的周长:{}".format(a+b+c))
 #三角形面积,已知三边利用海伦公式(p=(a+b+c)/2)
 #S= sqrt [p(p-a)(p-b)(p-c)]
 p=(a+b+c)/2
 area=math.sqrt(p*(p-a)*(p-b)*(p-c))
 print("三角形的面积:{}".format(area))
else:
 print("输入的边长不能构成三角形,请重新输入")
 

练习4:实现一个个人所得税计算器。

salary=float(input('本月收入:'))
insurance=float(input('五险一金扣除:'))
 diff =salary-insurance-5000
if diff <= 0:
 rate = 0
 deduction = 0
elif diff < 3000 :
 rate=0.3
 deduction = 0
elif diff < 12000 :
 rate = 0.1
 deduction= 210
elif diff < 25000:
 rate = 0.2
 deduction=1410
elif diff < 35000 :
 rate = 0.25
 deduction = 2660
elif diff < 55000:
 rate =0.3
 deduction = 4410
elif diff < 80000 :
 rate = 0.35
 deduction = 7160
else:
 rate = 0.45
 deduction=15160
tax=abs(diff*rate - deduction)
print('个人所得税: ¥%.2f元' % tax)
print('实际到手收入:¥%.2f元' % (diff + 5000 - tax))
 

好啦,以上就是我的分享,如果你跟我一样都喜欢python,想成为一名优秀的程序员,也在学习python的道路上奔跑,欢迎你加入python学习群:839383765 群内每天都会分享最新业内资料,分享python免费课程,共同交流学习,让学习变(编)成(程)一种习惯!

文章来源:智云一二三科技

文章标题:python知识点:python之分支结构

文章地址:https://www.zhihuclub.com/200630.shtml

关于作者: 智云科技

热门文章

网站地图