计算字母串长度并变成真/假陈述

时间:2012-10-19 03:23:19

标签: python string

关于我个人项目中存在的问题,我有一个简单的问题。 我有一个悬挂式的人游戏我在python中创建的乐趣和隐藏的单词最初呈现 用户采用以下方法;说这个词是你好,它会是'^^^^^',就像每个人一样 字符由'^'替换。现在我试着编写一个计算设置字符串中显示的字符数量的函数,所以说我有一个,并且猜到了苹果,我现在有了以下视图,'app ^^^',

现在继承我的问题,如果有超过一半的字符显示如下,我想返回一个真或假的布尔语句; 'app ^^^'= true,因为显示至少1/2;因此return = true 但是,'a ^^^^^'= false,而不是显示1/2的字符,

我感觉很糟糕没有张贴任何东西,但我想出了如何做到这一点; 所以我觉得如果我可以len(app ^^^)但删除'^'的计数然后如果计数大于len的一半(app ^^^)没有删除'^',返回true,否则;返回false。我相信它可以工作,但不知道该怎么做,再次感谢你们。

3 个答案:

答案 0 :(得分:4)

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

s = 'app^^^'

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

更通用的解决方案

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

if percent_solved(s) >= 50:
    ...