如何计算输入字符串的平均长度

时间:2018-06-08 04:20:42

标签: python python-3.x

对于我的python作业分配,程序会询问用户三个字符串并打印输入字符串的平均长度

我的代码:

name1 = input ("enter first string: ")
name2 = input ("enter second string: ")
name3 = input ("enter third string: ")

total_strings = (name1.split()) + (name2.split()) + (name3.split()) 

average =( len(name1) + len(name2) + len(name3) )/len(total_strings)

print("the average length is: " + str(average))

所以当我试一试时,数学有点奇怪。

输入:

  

a ajhs jah sjajsh jahs jah jah jsh as

     

ajs jahjah sjhajsh jahs jah sjah jsh ajs

     

ajs ajhs jah sjahs jah sjah sjah jsh ajhs jah s

=====此处测试失败=====

  

输入第一个字符串:输入第二个字符串:输入第三个字符串:   平均长度为:4.428571428571429

预期产出:

  

输入第一个字符串:输入第二个字符串:输入第三个字符串:   平均长度为:41.33

2 个答案:

答案 0 :(得分:2)

在python 2.7中完美运行。

name1 = raw_input("enter first string: ")
name2 = raw_input("enter second string: ")
name3 = raw_input("enter third string: ")

average = (len(name1) + len(name2) + len(name3)) / 3

print("the average length is: " + str(average))

希望它有所帮助。

答案 1 :(得分:1)

split()正在创建字符串中的单词列表;这不是你想要的。

取平均值,你必须对字符串的长度求和,然后除以字符串数:

name1 = input("enter first string: ")
name2 = input("enter second string: ")
name3 = input("enter third string: ")

average = (len(name1) + len(name2) + len(name3)) / 3

print("the average length is: " + str(average))