python - How to concatenate a string and an integer to get a three digit number -


i in beginner's course , made code not work

random_number = str(random.randrange (1, 1000)) random_number_length = (len (random_number)) zero_number = ("0" * 3 - (random_number_length)) final_number = (random_number_length + random_number) print (final_number) 

the final output needs like:

004 

instead of:

4 

i need 3 digit number if generated number 89 or 7.

when attempt error:

    zero_number = ("0" * 3 - (random_number_length)) typeerror: unsupported operand type(s) -: 'str' , 'int' 

i'm guessing has string , integer.

above answers more useful (you don't have reinvent wheel), use own code:

import random  # random number random_number = str(random.randrange (1, 1000))  # check number of digits in number random_number_length = len (random_number)  # use number of digits number of zeros zero_number = "0" * (3 - (random_number_length))  # concatenate zero_number random_number final_number = zero_number + random_number  print (final_number) # 006 

try use less brackets: these confusing. main problem:

zero_number = ("0" * 3 - (random_number_length)) 

multiplication comes before subtraction, is:

  1. "0" * 3 => string
  2. "000" - random_number_length => string - int = ?

you cannot concatenate 2 different types (here int , string).


Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -