如何解决用户输入的平均值:数字
我需要从用户输入数组中获取平均值。
[for x in range(num):
arr = float(input("Lūdzu,ievadiet virkni: "))
num = len(arr) - arr.count(' ')
total_sum = 0
total_sum += arr
avg = total_sum / num
print("Vidējais skaitlis no virknes: ",avg)][1]
解决方法
根据输出消息的Google翻译(“字符串中的平均数字”),您似乎打算处理包含多个数字的单个字符串。在这种情况下,您可以使用split
将字符串转换为子字符串(分隔符将默认为空白),然后使用float
将每个字符串转换为数字,然后可以对其求平均。也许你的意思是这样的:
arr = input("Lūdzu,ievadiet virkni: ")
num = 0
total_sum = 0
for s in arr.split():
num += 1
total_sum += float(s)
avg = total_sum / num
print("Vidējais skaitlis no virknes: ",avg)
请注意,您不能使用float
将这样的字符串直接转换为浮点数列表。实际上,在此示例代码中,从来没有构造这样的列表,因为它不是必需的。仅使用字符串列表。
要获得项目数,可使用计数变量num
并在循环中递增(设置为0,每次递增1),尽管另一种方法是使用len
。在这种情况下,您需要将字符串列表保存到变量(此处为val_strings
)中,以便既可以求和值,又可以调用len
。
arr = input("Lūdzu,ievadiet virkni: ")
val_strings = arr.split()
total_sum = 0
num = len(val_strings)
for s in val_strings:
total_sum += float(s)
avg = total_sum / num
print("Vidējais skaitlis no virknes: ",avg)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。