Python 如何计算用户输入的平均值-蟒蛇-

Python 如何计算用户输入的平均值-蟒蛇-,python,average,Python,Average,这些问题要求我们创建一个Python程序,要求用户输入车辆数量、停车时间和停车费,并计算其总费用和总平均费用。我能找到所有我需要的东西,除了总平均数 sum = 0.00 fee = 0 avg = 0 x = int(input("Number of cars:")) while x > 0: y = float(input("Duration of parking:")) if y <= 3: fee =

这些问题要求我们创建一个Python程序,要求用户输入车辆数量、停车时间和停车费,并计算其总费用和总平均费用。我能找到所有我需要的东西,除了总平均数

sum = 0.00
fee = 0
avg = 0

x = int(input("Number of cars:"))

while x > 0:
    y = float(input("Duration of parking:"))
    if y <= 3:
        fee = 2
        print("Fee: 2")
    elif 3 < y <= 23
        fee = 2 + (0.05 * y)
    elif y == 24:
        fee = 10
        print("Fee: 10")
    x = x - 1
    sum = sum + fee
    avg = sum / x
print("Total fees:", sum)
print("Average:")
sum=0.00
费用=0
平均值=0
x=int(输入(“车辆数量:”)
当x>0时:
y=浮动(输入(“停车持续时间:”)

如果y您的算法用车辆数进行除法,
x
,但相同的变量用于递减

提议:

  • 请求车辆编号并将其存储到另一个变量
  • 计算完所有费用后,仅在最后进行平均计算
e、 g:

n_cars=x=int(输入(“多少辆车?”)
当x>0时:
#更多的东西
...
总和+=费用
...
平均值=总和/无车
...

您的算法将车数除以x
,但相同的变量用于递减

提议:

  • 请求车辆编号并将其存储到另一个变量
  • 计算完所有费用后,仅在最后进行平均计算
e、 g:

n_cars=x=int(输入(“多少辆车?”)
当x>0时:
#更多的东西
...
总和+=费用
...
平均值=总和/无车
...

问题在于,每次迭代时,您都在减少
x
,最终它变为
0
,因此您会得到错误

使用
for
循环对
n
输入进行迭代,或者使用两个对象,一个用于迭代,另一个用于计算平均值

此外,还需要计算
while
循环外的平均值

试试这个:

sum = 0.00
fee = 0
avg = 0

x = int(input("How many cars?: "))
z = x

while x > 0:
    y = float(input("Parking duration for car: "))
    if y <= 3:
        fee = 2
        print("Parking fee (RM): 2")
    elif 3 < y <= 4:
        fee = 2.50
        print("Parking fee (RM): 2.50")
    elif 4 < y <= 5:
        fee = 3
        print("Parking fee (RM): 3")
    elif 5 < y <= 6:
        fee = 3.50
        print("Parking fee (RM): 3.50")
    elif 6 < y <= 7:
        fee = 4
        print("Parking fee (RM): 4")
    elif 7 < y <= 8:
        fee = 4.50
        print("Parking fee (RM): 4.50")
    elif 8 < y <= 9:
        fee = 5
        print("Parking fee (RM): 5")
    elif 9 < y <= 10:
        fee = 5.50
        print("Parking fee (RM): 5.50")
    elif 10 < y <= 11:
        fee = 6
        print("Parking fee (RM): 6")
    elif 11 < y <= 12:
        fee = 6.50
        print("Parking fee (RM): 6.50")
    elif 12 < y <= 13:
        fee = 7
        print("Parking fee (RM): 7")
    elif 13 < y <= 14:
        fee = 7.50
        print("Parking fee (RM): 7.50")
    elif 14 < y <= 15:
        fee = 8
        print("Parking fee (RM): 8")
    elif 15 < y <= 16:
        fee = 8.50
        print("Parking fee (RM): 8.50")
    elif 16 < y <= 17:
        fee = 9
        print("Parking fee (RM): 9")
    elif 17 < y <= 18:
        fee = 9.50
        print("Parking fee (RM): 9.50")
    elif 18 < y <= 24:
        fee = 10
        print("Parking fee (RM): 10")
    x = x - 1
    sum = sum + fee

avg = sum / z
print("Total Fee (RM):", sum)
print("Average (RM):")
sum=0.00
费用=0
平均值=0
x=int(输入(“多少辆车:”)
z=x
当x>0时:
y=浮动(输入(“车辆的停车持续时间:”)

如果y,问题是在每次迭代中你都在减少x
x,最终它变成
0
,因此你得到了错误

使用
for
循环对
n
输入进行迭代,或者使用两个对象,一个用于迭代,另一个用于计算平均值

此外,还需要计算
while
循环外的平均值

试试这个:

sum = 0.00
fee = 0
avg = 0

x = int(input("How many cars?: "))
z = x

while x > 0:
    y = float(input("Parking duration for car: "))
    if y <= 3:
        fee = 2
        print("Parking fee (RM): 2")
    elif 3 < y <= 4:
        fee = 2.50
        print("Parking fee (RM): 2.50")
    elif 4 < y <= 5:
        fee = 3
        print("Parking fee (RM): 3")
    elif 5 < y <= 6:
        fee = 3.50
        print("Parking fee (RM): 3.50")
    elif 6 < y <= 7:
        fee = 4
        print("Parking fee (RM): 4")
    elif 7 < y <= 8:
        fee = 4.50
        print("Parking fee (RM): 4.50")
    elif 8 < y <= 9:
        fee = 5
        print("Parking fee (RM): 5")
    elif 9 < y <= 10:
        fee = 5.50
        print("Parking fee (RM): 5.50")
    elif 10 < y <= 11:
        fee = 6
        print("Parking fee (RM): 6")
    elif 11 < y <= 12:
        fee = 6.50
        print("Parking fee (RM): 6.50")
    elif 12 < y <= 13:
        fee = 7
        print("Parking fee (RM): 7")
    elif 13 < y <= 14:
        fee = 7.50
        print("Parking fee (RM): 7.50")
    elif 14 < y <= 15:
        fee = 8
        print("Parking fee (RM): 8")
    elif 15 < y <= 16:
        fee = 8.50
        print("Parking fee (RM): 8.50")
    elif 16 < y <= 17:
        fee = 9
        print("Parking fee (RM): 9")
    elif 17 < y <= 18:
        fee = 9.50
        print("Parking fee (RM): 9.50")
    elif 18 < y <= 24:
        fee = 10
        print("Parking fee (RM): 10")
    x = x - 1
    sum = sum + fee

avg = sum / z
print("Total Fee (RM):", sum)
print("Average (RM):")
sum=0.00
费用=0
平均值=0
x=int(输入(“多少辆车:”)
z=x
当x>0时:
y=浮动(输入(“车辆的停车持续时间:”)

如果y这里是一个更简单的工作实现,代码更短、更清晰:

导入数学
最低费用=2.0
最高费用=10
x=int(输入(“多少辆车:”)
成本=0
对于范围(x)内的uu:
y=浮动(输入(“车辆的停车持续时间:”)
费用=最低(数学单元(最高(最低费用,(y+1)*0.5)),最高费用)
打印(f“停车费(RM):{fee}”)
成本+=费用
打印(“总费用(RM):”,成本)
打印(“平均(RM):”,成本/x)

请注意,通常不需要多次复制粘贴同一块,因为它是不可读的。

下面是一个更简单的工作实现,代码更短、更清晰:

导入数学
最低费用=2.0
最高费用=10
x=int(输入(“多少辆车:”)
成本=0
对于范围(x)内的uu:
y=浮动(输入(“车辆的停车持续时间:”)
费用=最低(数学单元(最高(最低费用,(y+1)*0.5)),最高费用)
打印(f“停车费(RM):{fee}”)
成本+=费用
打印(“总费用(RM):”,成本)
打印(“平均(RM):”,成本/x)

请注意,您通常不需要将同一块的副本粘贴太多次,因为它是不可读的。

在计算平均值后,将行
x=x-1
移动到。在循环之前,让一个变量存储x的副本,并使用该副本计算平均值。1.请不要覆盖
sum
关键字。2.请使用字典支付费用或其他费用除此之外,但不是超长的
如果…else
,这是错误的代码。在计算平均值后,将行
x=x-1
移动到。在循环之前,让一个变量存储一个x的副本,并使用它来计算平均值。1.请不要覆盖
sum
关键字。2.请使用字典来计算费用或其他事情,但不要使用超长<代码>如果…否则,这是错误代码。不起作用,每次迭代都会更改x!确实!我错过了算法错误。我更新了我的答案。不起作用,每次迭代都会更改x!确实!我错过了算法错误。我更新了我的答案。