I would like to make a program that asks how many bills of each type you got, to do this I wanted to use a for loop and a list.
I did this little test:
types_of_bills = [2, 5, 10]
for i in types_of_bills:
amount_of_bills = int(input("How many {}$ bills have you got?".format(types_of_bills)[i])))
This only prints, not all three choices as I want:
How many 10$ bills have you got?
And when I give any input it gives me this error:
cantidad_de_billetes = int(input("How many {}$ have you got?".format(bills[i])))
ValueError: invalid literal for int() with base 10: ''
CodePudding user response:
You do not need to use index like - (types_of_bills)[i]
, you can just use i
-
types_of_bills = [2, 5, 10]
for i in types_of_bills:
amount_of_bills = int(input("How many {}$ bills have you got? ".format(i)))
Output -
How many 2$ bills have you got? 1
How many 5$ bills have you got? 2
How many 10$ bills have you got? 3
You will get ValueError: invalid literal for int() with base 10
, because of giving input something other than a integer
Also, instead of .format
, you can use f-strings
because it is much easier to read -
amount_of_bills = int(input(f"How many {i}$ bills have you got? "))
Check this out - Python 3 f-string