【问题标题】:How can i convert to python?我怎样才能转换成python?
【发布时间】:2022-10-14 23:13:12
【问题描述】:

所以我做了一个python代码

for x in userinfo:
    age = re.findall("\d{2}\s", userinfo.read())


# print(userinfo.read())
print("The average age: ", age)
userinfo.close()

现在我在将子字符串转换为 int 时遇到了麻烦,我认为我以最难的方式来做这件事。 如果你能帮忙,请帮忙[在此处输入图片描述][1]

这张照片是问题 [1]:https://i.stack.imgur.com/hp82S.png

【问题讨论】:

  • 请不要在这里张贴图片。为了读者(和你的问题)的缘故,你可以在这里写下它的要点。
  • userinfo 是什么?你为什么要迭代它在循环中读取它?如果您只想打印它们,似乎没有任何理由将您使用re.findall 找到的字符串转换为int 值,因为print 只是要转换int首先回到str
  • 也许解释确切地你想要达到的目标。目的是什么X在你的代码中?
  • int(myString) 会将 myString 转换为 int(如果无法将文本转换为 int,则抛出 ValueError 异常)。因此,如果您想将年龄转换为 int,只需执行 int(age)

标签: python automata formal-languages


【解决方案1】:

您不需要循环,因为userinfo.read() 将读取文件中的所有行并且循环将停止。只需分配一次变量。

age 将是匹配正则表达式的字符串列表。您可以在生成器表达式中对所有这些调用 int()

要计算平均值,请获取它们的总和并除以长度。

ages = re.findall("d{2}s", userinfo.read())
avg_age = sum(int(age) for age in ages) / len(ages)
print("The average age: ", avg_age)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-29
    • 2016-06-15
    • 2013-07-22
    • 2019-04-28
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多