求除-1之外的数字的平均值

问题描述 投票:0回答:1

编写一个程序,不断要求用户输入数字。

  • 当用户输入“-1”时,程序应该停止请求用户 输入一个数字,
  • 程序必须计算输入数字的平均值, 不包括-1。
  • 利用while循环重复结构来实现 程序。

到目前为止我所做的是第一部分。正在努力完成第二部分

random_num = 0

while True:
    print(random_num)

    random_num = input("enter a number: ")
    if random_num == "-1":
        break
python average
1个回答
0
投票

给定问题陈述的代码

total_sum = 0
number_count = 0

while True:
  user_input = input("Enter a number: ")

  if user_input == "-1":
    break

  try:
    number = float(user_input)
  except ValueError:
    print("Invalid input. Please enter a number.")
    continue

  total_sum += number
  number_count += 1

if number_count > 0:
  average = total_sum / number_count
  print(f"The average of the entered numbers (excluding -1) is: {average:.2f}")
else:
  print("No valid numbers were entered.")

输出

Enter a number: 5
Enter a number: 6
Enter a number: 7
Enter a number: -1
The average of the entered numbers (excluding -1) is: 6.00

=== Code Execution Successful ===

问题的算法如下:

  • 初始化:total_sum存储所有有效数字的总和,并且
    number_count 跟踪输入的有效数字(不包括 -1)。
  • while True 循环:此循环无限期地继续,直到用户
    打破它
  • 用户输入:提示用户输入数字。
  • 退出条件:如果用户输入“-1”则循环中断。
  • 错误处理: 该代码尝试使用
    将用户输入转换为数字 漂浮()。如果它不是有效的数字,则会打印一条错误消息, 并且循环继续到下一次迭代。
  • 有效数字处理:如果输入的是有效数字,则添加到 Total_sum 和 number_count 递增。
  • 平均计算:循环退出后,代码检查是否 number_count 大于零(意味着至少有一个有效数字 已输入)。如果是,则除以total_sum计算平均值 按 number_count 并使用 f 字符串格式化为两位小数。 如果否,则会显示一条消息,指示未输入有效号码 打印出来了。
© www.soinside.com 2019 - 2024. All rights reserved.