Проблема в вашем коде заключается в том, что вы считываете первую строку перед началом цикла while, а затем считываете еще одну строку внутри цикла before добавлением предыдущей строки в список.
Вы можете исправить это, переместив внутренее чтение строки (`i = input()`) в конец цикла while, чтобы сперва добавить предыдущую строку в список, а затем прочитать следующую строку перед проверкой условия:
```python
table = []
i = input()
while i != '':
table.append(i)
i = input()
print(table)
```
Теперь код будет добавлять каждую непустую строку в список `table` и останавливаться, когда будет введена пустая строка. Распечатка списка `table` даст вам список всех введенных строк, за исключением последней пустой строки.
Чтобы определить количество строк в переменной, вы можете использовать функцию `len(table)`, которая вернет количество элементов в списке `table`.