我的代碼給出了錯誤的輸出,而一切似乎都很好。
該代碼的目的是將英寸轉換為厘米,反之亦然。
例如,使用 input cmthen 6,輸出為:
inch: 6, centimeter: 15.24
But it should be:
英寸:2.362,厘米: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()
uj5u.com熱心網友回復:
您在if陳述句中錯過了相等性測驗,您應該使用float(not int)。喜歡,
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}')
我跑的
What is it? (inch-in or centimeter-cm): cm
How many of it: 2.54
inch: 1.0, centimeter: 2.54
(兩次)
What is it? (inch-in or centimeter-cm): in
How many of it: 1
inch: 1.0, centimeter: 2.54
這似乎是正確的。
uj5u.com熱心網友回復:
問題在于你的邏輯 if ms=="inch" or "in":
你可以寫得更好in:
def intocm():
ms=input("What is it? (inch-in or centimeter-cm): ")
am=int(input("How many of it: "))
intocm=2.54
if ms in ["inch" , "in"]:
cm=am*intocm
inch=am
elif ms in ["centimeter" , "cm"]:
cm=am
inch=cm/intocm
print(f'inch: {inch}, centimeter: {cm}')
intocm()
uj5u.com熱心網友回復:
由于第一個 if 條件,代碼失敗。它應該類似于您的 elif 條件。
在您的代碼中,
如果 ms=="inch" 或 "in":
但它應該是如果 ms=="inch" 或 ms=="in":
uj5u.com熱心網友回復:
如果 ms=="inch" 或 "in" 是錯誤的。應該是如果 ms=="inch" 或 ms=="in"。否則它將被視為 if ((ms=="inch") or ("in"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/367018.html
上一篇:Express-Session在REST客戶端(VSStudio擴展)上運行良好,但在React站點上運行不正常
