cs50p 协助

问题描述 投票:0回答:2

目前正在学习 cs50p 的第一周。我很难找到合适的资源来帮助我完成这项作业。

我试图完成“小费计算器”问题,这就是我到目前为止所想出的:

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):
    return(int(float((d))))




def percent_to_float(p):
    return(int(p))


main()

大部分代码都是为我们提供的。我们所要做的就是“defdollar_to_float(d)”和“defpercent_to_float”。我终于能够接受我输入的美元和百分比,但前提是我输入的金额不带美元符号。如果我输入“50.00”,它会起作用,但如果我输入“$50.00”,则不起作用。百分比也是如此。

最后,我正在努力将用户给出的百分比转换为小数。所以,如果我输入 15%,我希望它变成 0.15。

如果我输入“50.00”和“15”,我会得到 750.00 美元的答案,但我应该得到 7.50 美元的答案。

如果你们中的任何人能够引导我找到正确的答案/引导我找到正确的资源,而不仅仅是为我提供答案,我将非常感激。我真的很想真正学习如何做到这一点。由于我刚刚学习这个,我很难理解 pythons 网站上的说明,否则我就去那里。

谢谢你。

python cs50
2个回答
0
投票

你实际上可以这样做

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


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

0
投票

我目前正在学习相同的课程。我对第 5 行感到困惑。有人可以解释一下 f 和 2f 在此行中的作用吗? 这是我在计算小费时使用的变量吗?

© www.soinside.com 2019 - 2024. All rights reserved.