My code is giving incorrect output while everything seems to be alright.
The purpose of the code is to translate inches into centimetres and vice versa.
For example, with inpput cm
then 6
, the output is:
inch: 6, centimeter: 15.24
But it should be:
inch: 2.362, centimeter: 6
Code:
```py
def intocm():
ms = input('What is it? (inch-in or centimeter-cm): ')
am = int(input('How many of it: '))
intocm = 2.54
global inch
global cm
if ms == 'inch' or 'in':
cm = am * intocm
inch = am
elif ms == 'centimeter' or ms == 'cm':
cm = am
inch = cm / intocm
print(f'inch: {inch}, centimeter: {cm}')
intocm()
You missed an equality test in your if
statement, and you should be using float
(not int
). Like,
def intocm():
ms=input("What is it? (inch-in or centimeter-cm): ")
am=float(input("How many of it: "))
intocm=2.54
global inch
global cm
if ms=="inch" or ms=="in":
cm=am*intocm
inch=am
elif ms=="centimeter" or ms=="cm":
cm=am
inch=cm/intocm
print(f'inch: {inch}, centimeter: {cm}')
Which I ran
What is it? (inch-in or centimeter-cm): cm
How many of it: 2.54
inch: 1.0, centimeter: 2.54
(twice)
What is it? (inch-in or centimeter-cm): in
How many of it: 1
inch: 1.0, centimeter: 2.54
Which seems correct.