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 技术大本营,获取更多技能与教程。