python练习题02

篮球比赛案例

需求
篮球比赛是高分的比赛,领先优势可能很快被反超。作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。体育作家BillJames发明了一种算法,用于判断领先是否“安全”。

算法描述:

获取领先的分数 ,减去3分;
如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);
计算平方后的结果;
如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。

使用到的知识
条件判断:if:…elif:…else:
输入和输出:input、print
错误处理:try…except…finally
类型转换:int()、eval()

自己的想法:
1、提前输入哪些内容:两个领队的分数、谁是领队、比赛剩余时间
2、不知道怎么实现,对比了参考代码。基础入门不要想的太复杂需要的内容就直接传入就好

实现:
1、需输入的变量:领先的分数、是否是领队、比赛剩余时间

自己的代码:


grade =  eval(input("请输入领先分数:"))
leader = input("是否为控方领队:(Y or N)")
time = eval(input("比赛剩余时间:"))

grade = grade - 3 
result = 0
if leader == 'Y':
    result = grade + 0.5
    print(result)
elif leader == 'N':
    if grade - 0.5  < 0:
        result = 0
    else:
        result = grade - 0.5
sum = result * result
print(sum)
if sum > time:
    print("领先安全")
else:
    print("领先不安全")

总结
有相同的地方可以提取出来当做同一个变量,不然看着乱

参考代码:


grade =  eval(input("请输入领先分数:"))
leader = input("是否为控方领队:(Y or N)")
time = eval(input("比赛剩余时间:"))

t = grade - 3

if leader == 'Y' or leader == 'y':
    g = (t + 0.5)**2
else:
    g = t - 0.5
    if g <= 0:
        g = 0
    else:
        g = g**2
if g > time:
    print("领先安全")
else:
    print("领先不安全")
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值