Изменить визуально вывод кода
Есть программный код, который проверяет, чтобы в строке были только числа, он выводит либо True либо False, но не понятно для какой переменной какое значение (если их много будет разных в списке), как сделать ,чтобы он выводил красиво, например s=False, a=True и так далее с разными переменными:
s="sf1sgsg"
a="12323"
q=[s,a]
for r in q:
print(r.isdigit ())
Ответы (3 шт):
Очень примитивно пишу, но чтобы было бы понятно. В r у нас элемент списка. Поэтому добавляем еще for x in r, в котором каждый элемент списка "разбиваем" на составляющие (символы).
s="sf1sgsg"
a="12323"
q=[s,a]
for r in q:
for x in r:
print(x,"=", x.isdigit())
Результат:
s = False
f = False
1 = True
s = False
g = False
s = False
g = False
1 = True
2 = True
3 = True
2 = True
3 = True
Ну, можно еще и проще, если не ваш q=[s,a], то тогда просто
s="sf1sgsg"
a="12323"
for r in a+s:
print(r,"=", r.isdigit())
можно попробовать такой способ, но есть предположение, что так делать не надо:
def print_var():
s="sf1sgsg"
a="12323"
q=[s,a]
for name, value in locals().items():
if value in q:
print(f'{name} = {value.isdigit()}')
print_var()
>>> out
'''
s = False
a = True
Можно сделать, например, вот так:
s = 'sf1sgsg'
a = '12323'
q = [s, a]
for i in q:
print(i, '=', i.isdigit())
Что я сделал:
- Добавил отступ перед
for. - Заменил
rнаiпо правиламPEP-8. - В
printпрописал вывод значенияi,'=', и.isdigit. Вывод:
sf1sgsg = False
12323 = True
Надеюсь, такой вариант подойдет.