Не можете умножить последовательность на не-int типа 'float'? Попробовал и попробовал

Простой совет: простое пространство (или невидимый специальный символ) в вашем скрипте, прямо перед самым первым тегом <?php, может вызвать это! Особенно, когда вы работаете в команде, а кто-то использует «слабую» IDE или перепутал файлы со странными текстовыми редакторами.

Я видел эти вещи;)

0
задан Patrick Haugh 16 January 2019 в 20:41
поделиться

2 ответа

Как указано в комментариях, поскольку вы используете Python3, вы можете использовать оператор деления по полу, чтобы обеспечить результат int:

def half_finished_diamond(height):
    n = 1
    for i in range(height):
        spaces = height // 2 - n    # <-- note the // instead of /
        blank = " "
        print(blank*spaces + '/' * n + '\\' * n + "\n")
        n += 1


half_finished_diamond(8)

Смотрите его в действии на https: // eval.in/1078035

0
ответ дан sal 16 January 2019 в 20:41
поделиться

В Python 3, когда вы говорите space = height / 2 - n, он автоматически переводит результат в число с плавающей точкой, поэтому spaces будет 4.0 - 1 = 3.0. Вам нужно будет привести его к int, чтобы умножить на него строку.

0
ответ дан Calvin Godfrey 16 January 2019 в 20:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: