#python #python-3.x
#python #python-3.x
Вопрос:
Это текущий код, который у меня есть, проблема, очевидно, в том, что я не могу разделить строки на строки, но я не уверен, как приступить к редактированию кода, чтобы заставить его работать.
def Fraction(c, s):
#Returns the fraction of 's' formed by 'c'.
return c / s
print(Fraction("a", "ababab"))
Теоретически должно быть напечатано 0,5; 'a'
составляет половину всего текста 'ababab'
.
Комментарии:
1. не могли бы вы объяснить, почему он должен печатать 0.5?
2. a составляет половину (0,5) от общей строки. в строке есть 6 символов, и 3 из них являются a.
3. Итак, вам нужно соотношение , а не доля.
Ответ №1:
Очевидно, вам нужно соотношение здесь; число от 0.0 до 1.0, указывающее, какой процент от большей строки использует меньшую строку:
def ratio(c, s):
return (float(s.count(c) * len(c))) / len(s)
ДЕМОНСТРАЦИЯ:
>>> def ratio(c, s):
... return (float(s.count(c) * len(c))) / len(s)
...
>>> ratio("a", "ababab")
0.5
>>> ratio("ab", "ababab")
1.0
Комментарии:
1. Это работает, я просто назвал его в соответствии с требованиями. Тем не менее, работает, спасибо.
2. Именование довольно .. запутанное, потому что в Python есть
fractions.Fraction()
тип .3. хм, хорошо, я все еще новичок во всем этом и просто пытаюсь соответствовать тому, как должна быть названа функция.