Last answered:

07 Aug 2023

Posted on:

20 Jul 2023

1

Resolved: What's wrong with my code Q3


number = input('Please enter a number between 1 and 12: ')
while (not number.isdigit()) or int(number) < 1 or int(number) > 12:
    print('It must be an integer between 1 and 12')
    number = int(input('Please enter a number between 1 and 12: '))

print('--------------------------')
print()
print(f'This is the {number} times table')
print('--------------------------')

for i in range(1,13):
    print(f'{number} X {i} = {i*number}')


if i entered 3 it gives me 

3 X 1 = 3
3 X 2 = 33
3 X 3 = 333
3 X 4 = 3333
3 X 5 = 33333
3 X 6 = 333333
3 X 7 = 3333333
3 X 8 = 33333333
3 X 9 = 333333333
3 X 10 = 3333333333
3 X 11 = 33333333333
3 X 12 = 333333333333

3 answers ( 1 marked as helpful)
Super learner
This user is a Super Learner. To become a Super Learner, you need to reach Level 8.
Posted on:

20 Jul 2023

1

In the last line, your print statement is telling it to print out the same number 'i' times. 


Change the last line to

print(f'{number} X {i} = {i*int(number)}')

And it should work. 

Posted on:

21 Jul 2023

0

I get it but in the video, there wasn't that "int()" I've searched for the difference between adding it and not and I couldn't find any difference

Posted on:

07 Aug 2023

0

Ahmed, if you do not add int(), your code automatically takes input as string. Therefore, you code output is  multiplying string

Submit an answer