python - 对没有内置或导入函数的数字进行排序以对列表进行排序或计算平均值
问题描述
编写一个 Python 3 应用程序,其中包含一个名为 Sort_and_Mean 的用户定义函数。Sort_and_Mean 函数应该:
- 它应该将结果输出为不带方括号的逗号分隔列表。
- 可以通过键入exit 退出。
已经完成: - 排序并返回传递给它的数字列表 - 计算并返回列表的平均值。
我尝试删除括号,但没有奏效。
import sys
def sort_and_mean(number):
for index in range(1,len(number)):
value = number[index]
i = index - 1
while i>=0:
if value < number[i]:
number[i+1] = number[i]
number [i] = value
i = i - 1
else:
break
return number
number = " "
while True:
print("\nSorting Numbers in Python 3 Program")
if (number == "exit" or number == "Exit" or number == "EXIT"):
print("Goodbye")
sys.exit()
else:
number = input("Enter a the value or type Exit to exit: ")
number = [int(v) for v in number.split(',')]
print("Original List: ", number)
print("Sorted List: ", sort_and_mean(number))
print ("Mean Value:", "%0.2f" % (sum(number) / len(number)))
预期: - 原始列表:3,9,7,4,0,2 - 排序列表:0,2,3,4,7,9 - 平均值:4.17
退出结果:
Traceback (most recent call last):
File "/Users/antoniocazarez/Desktop/sortingnumbers.py", line 25, in <module>
number = [int(v) for v in number.split(',')]
File "/Users/antoniocazarez/Desktop/sortingnumbers.py", line 25, in <listcomp>
number = [int(v) for v in number.split(',')]
ValueError: invalid literal for int() with base 10: 'exit'
结果:原始列表:[3, 9, 7, 4, 0, 2] 排序列表:[0, 2, 3, 4, 7, 9] 平均值:4.17
解决方案
推荐阅读
- sql - 在两个表中查找时间开始日期和结束日期重叠
- apache-nifi - GetSQS NiFi 接收基于内容过滤的消息
- kotlin - Kotlin 序列化:未找到“UUID”类型的序列化程序。是否可以使用 UseSerializers?
- spring - 带有活动目录的 Spring Ldap
- swift - Swiftui 使用 Twilio 进行验证
- android - 语音识别器在编辑文本事故中设置文本(Android工作室)
- facebook - Facebook 中的微数据
- sql-server - SQL Server smalldatetime 问题
- python-3.x - 在 redis 中托管 fasttext 模型 (.bin)
- reactjs - 用 useEffect 反应 setInterval 不停止