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:
	
	| 12
 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:
	
	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
						
					
Partager