【问题标题】:counting alphabetic string length and turning into true/false statements计算字母字符串长度并变成真/假语句
【发布时间】:2012-12-28 09:54:27
【问题描述】:

我有一个关于我个人项目中存在的问题的简单问题。 我有一个挂人游戏,我在 python 中创建了一个有趣的游戏,隐藏的单词最初是存在的 用户在以下方法中;说这个词是你好,它会是'^^^^^',因为每个 字符替换为“^”。现在我正在尝试编写一个函数来计算设置字符串中显示的字符数量,所以说我有 a 和 p 在苹果中猜测,我现在有以下视图,'app^^^',

现在这是我的问题,如果超过一半的字符已显示,我想返回一个 true 或 false 布尔语句,因此示例如下; 'app^^^' = true 因为至少显示了 1/2;因此 return = true 但就像,'a^^^^^' = false,没有显示 1/2 的字符,

tbh 我没有发布任何东西感觉很糟糕,但我想出了一个如何去做的想法; 所以我觉得如果我可以 len(app^^^) 但删除 '^' 的计数,那么如果计数大于没有删除 '^' 的 len(app^^^) 的一半,则返回 true,否则;返回假。我相信它可以工作,但不知道怎么做,再次感谢大家。

【问题讨论】:

  • 今天有很多刽子手问题!

标签: python string


【解决方案1】:

不计算字母,而是计算^ 字符:

s = 'app^^^'

if s.count('^') >= len(s) / 2:
    # Half of the characters are `^`s
else :
    # Less than half ...

【讨论】:

    【解决方案2】:

    实现您提出的解决方案的代码是:

    def is_half_revealed(s):
        return len(s.rstrip('^')) / float(len(s)) * 2 >= 1
    

    尽管您应该考虑重组代码,以便存储“显示多少答案”的数据与显示给用户的字符串分开,而不是直接检查该字符串。

    【讨论】:

      【解决方案3】:

      更通用的解决方案

      def percent_solved(s):
          return 100 - s.count("^") * 100 / len(s)
      
      if percent_solved(s) >= 50:
          ...
      

      【讨论】:

        猜你喜欢
        • 2012-01-11
        • 1970-01-01
        • 1970-01-01
        • 2017-09-15
        • 2013-09-20
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多