簡體   English   中英

* 不支持的操作數類型:'NoneType' 和 'NoneType'

[英]unsupported operand type(s) for *: 'NoneType' and 'NoneType'

def main():
dollars = dollars_to_float(input("How much was the meal? "))
percent = percent_to_float(input("What percentage would you like to tip? "))
tip = dollars * percent
print(f"Leave ${tip:.2f}")
def dollars_to_float(d):
    d = d.replace('$', '')
    d = float(d)
    print(d)
def percent_to_float(p):
    p = p.replace('%', '')
    p = float(p)
    p = p/100
    print(p)

main()

試圖轉換“美元”和“百分比”但它沒有用,我搜索了但大部分東西都沒有用而且我不明白一些因為我是 python 的新手

你沒有從你的函數中返回任何東西。 如果你想返回一個值,那么你必須這樣做。 使用return p而不是print(p) 效用函數不應打印其結果。 他們應該返回他們的結果並讓調用者決定如何處理它。

def dollars_to_float(d):
    d = d.replace('$', '')
    d = float(d)
    return d
def percent_to_float(p):
    p = p.replace('%', '')
    p = float(p)
    p = p/100
    return p

函數是返回一個值的東西:它可以是任何東西,比如 int 或 string...如果你在 function 的計算結束時沒有返回任何東西,它返回 None 意味着 null 或什么都沒有,你不能在算術語句中使用 None,所以返回 d 或 p,而不是打印並在您的主 function 中使用它:

def dollars_to_float(d):
    d = d.replace('$', '')
    d = float(d)
    return d

def percent_to_float(p):
    p = p.replace('%', '')
    p = float(p)
    p = p/100
    return p

def main():
    dollars = dollars_to_float(input("How much was the meal? "))
    print(dollars)
    percent = percent_to_float(input("What percentage would you like to tip? "))
    print(percent)
    tip = dollars * percent
    print(f"Leave ${tip:.2f}")

main()

任何 function 通過返回將其最后的值發送給其他人,其他人可以將其用於打印或其他計算

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM