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))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值