缩短重复性的Python代码

Shorten repetitive Python code(缩短重复性的Python代码)
本文介绍了缩短重复性的Python代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在进行课堂练习评估,我想知道是否有可能使用某种循环来缩短代码?

BASIC=500
accident_price = 0
total_price=0
total_price+=BASIC
age=float(input("what is your age?"))
accidents=int(input("How many accidents have you had?"))
for i in range(1):
  if age < 25:
    total_price=total_price+100
    print("Peole under 25 pay extra 100$")
  if accidents == 1:
    total_price+=50
    break
  elif accidents == 2:
    total_price+=125
    break
  elif accidents==3:
    total_price+=225
    break
  elif accidents == 4:
    total_price+=375
    break
  elif accidents == 5:
    total_price+=500
    break
  elif accidents == 0:
    print("No extra charge!")
    break
if accidents > 5:
  print("No insurance!")
  total_price=0
if accidents < 6:
  print("Your total comes to: ${}".format(total_price))

推荐答案

您可以创建一个事故词典,类似于

accident_bonus = {1: 50, 2: 125, 3: 225, 4: 375, 5: 500}

您的代码可以不使用ELIF系列,并如下所示:

if accidents in accident_bonus:
    total_price += accident_bonus[accidents]
elif accidents > 5:
    print("No insurance!")
else:
    print("No extra charge!")

还有,EV。库尼斯是对的。为什么for i in range(1)?这不是循环...

这篇关于缩短重复性的Python代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)