Pb d'un calcul contenant str et int
Bonjour,
Cela fait plusieurs fois que je change une expression de calcul qui ne marche pas tres bien et je finis par ne plus rien comprendre.
nombp = 1+int(int(nbsec)/50)
nbsec est une chaine de 4 caracteres composee exclusivement de caracteres ' ' '0' '1' '2' '3' '4' '5' '6''7' '8' '9'
Il n'y a pas de . ni de ,
Les chiffres sont toujours cales a droite, les blancs sont toujours devant les chiffres
Exemples pour nbsec:
Code:
1 2 3 4 5 6 7 8
| ' 8'
' 2'
' 0'
' 12'
' 80'
' 345'
' 204'
'1329' |
L'expression doit donner pour nombp la valeur
1 pour nbsec de '1' a '49'
2 pour nbsec de '50' a '99'
3 pour nbsec de '100' a '149'
etc..
Mais j'ai pour le moment le message d'erreur:
Code:
invalid literal for int() with base 10: ' '
J'ai regarde la lPython Library, je ne comprends pas les phrases mises en couleur:
int( [x[, radix]])
Convert a string or number to a plain integer.
If the argument is a string, it must contain a possibly signed decimal number representable as a Python integer, possibly embedded in whitespace.
The radix parameter gives the base for the conversion and may be any integer in the range [2, 36], or zero.
If radix is zero, the proper radix is guessed based on the contents of string; the interpretation is the same as for integer literals. If radix is specified and x is not a string, TypeError is raised. Otherwise, the argument may be a plain or long integer or a floating point number. Conversion of floating point numbers to integers truncates (towards zero). If the argument is outside the integer range a long object will be returned instead. If no arguments are given, returns 0.
Merci de votre aide