Top.Mail.Ru
Ответы

Python выдаёт ошибку

Выдает ошибку:int() argument must be a string, a bytes-like object or a real number, not 'list'

import math
import re

z = input("Введите число из которого хотите извлечь корень:")

x = re.findall(r'\d', z)

y = math.sqrt(int(x))

if int(z) >= 0:

print("Корень из числа" + x + "это" + y)

else:

print("Корень из числа" + x + "это" + y + "i")

По дате
По рейтингу
Аватар пользователя
Ученик

попробуй вместо if int(z) >= 0: написать if z >= 0:

Аватар пользователя
Ученик

тогда возникает новая ошибка:питон не может сравнивать z с числом, так как z не число

Аватар пользователя
Мудрец

re.findall возвращает список.
Зачем ты вообще его здесь используешь?

Аватар пользователя
Ученик

мне нужно отчистить вводуимую строку от минусов, и посторонних знаков, оставив только числа

Аватар пользователя
Ученик

Спасибо огромное, можете еще подсказать как убрать пробел перед i?



Видео по теме