grazie. Provando e riprovando ho risolto così:
n=eval(input('n: '))
"provare e riprovare" è necessario ad imparare, non ci sono le "funzioni" da Te indicate nel primo post ma va bene anche così.
Un consiglio : utilizza con ponderazione "eval()", potrà essere comoda ma potenzialmente è pericolosa, te ne mostro il perché:
>>> var = 'print("Ciao @salva")'
>>> eval(var)
Ciao @salva
>>>
Come puoi vedere, ho impostato nella stringa "var" del codice python, codice che è stato eseguito, "eval" interpreta, compila ed esegue eventuale codice sorgente contenuto nella variabile da valutare
>>> help('eval')
Help on built-in function eval in module builtins:
eval(source, globals=None, locals=None, /)
Evaluate the given source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.
>>>
è quindi da utilizzare con consapevolezza, i risultati potrebbero essere pesanti, altrimenti.
Per la conversione di tipo delle variabili esistono apposite funzioni
nella libreria di base, ti suggerirei di vedertele tutte, comprendi ciò che fanno e tienile presenti.
Nello specifico, avresti potuto utilizzare "int()"
>>> var = '10'
>>> var < 10
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
var < 10
TypeError: '<' not supported between instances of 'str' and 'int'
>>> int(var) < 10
False
>>> int(var) == 10
True
Ciao