Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:允许$&引用;浮点数前面的符号_Python_Calculator - Fatal编程技术网

Python:允许$&引用;浮点数前面的符号

Python:允许$&引用;浮点数前面的符号,python,calculator,Python,Calculator,如何允许某人在值前面输入带“$”的浮点整数。例如,他们可以输入“$4.25”,也可以输入“4.25” 此外,当我在计算器中输入“4.35”时,提示显示为“0.6”。在我家的一台计算器上,结果是0.6525。我怎样才能得到完整的答案 input ('Please Enter to begin') while True: print('This calculator will display the tip you owe for your meal price.') mealPr

如何允许某人在值前面输入带“$”的浮点整数。例如,他们可以输入“$4.25”,也可以输入“4.25”

此外,当我在计算器中输入“4.35”时,提示显示为“0.6”。在我家的一台计算器上,结果是0.6525。我怎样才能得到完整的答案

input ('Please Enter to begin')

while True:
    print('This calculator will display the tip you owe for your meal price.')
    mealPrice = int(float(input('Enter your meal price:')))
    asw = mealPrice * 0.15
    print('The tip you owe is: $',asw)

    endProgram = input ('Do you want to restart the program?')

    if endProgram in ('no', 'No', 'NO', 'false', 'False', 'FALSE'):
        break
改变

lstrip($”
从字符串的左侧删除给定字符的所有匹配项。您还需要删除
int
,它将价格截断为最接近的美元(这也是您有时得到错误答案的原因)。

更改

mealPrice = int(float(input('Enter your meal price:')))


lstrip($”
从字符串的左侧删除给定字符的所有匹配项。您还需要删除
int
,它将价格截断为最接近的美元(这也是您有时得到错误答案的原因)。

这是Python 3还是2.X?顺便问一下,您为什么要将
浮点值
转换为
int
?这会将价格截断为最接近的美元,这是不必要的(如果您将其保留为浮点数,它会将其计算为精确的小费)。要扩展@DavidRobinson关于
int
不可取的观点,您可以使用字符串格式将输出限制为小数点后两位:
print(“您欠的小费是:${.2f}”。format(asw))
您刚才问过这个问题吗?这是Python3还是2.X?顺便问一下,为什么要将
float
转换为
int
?这会将价格截断为最接近的美元,这是不必要的(如果您将其保留为浮点数,它会将其计算为精确的小费)。要扩展@DavidRobinson关于
int
不可取的观点,您可以使用字符串格式将输出限制为小数点后两位:
print(“您欠的小费是:${.2f}”。format(asw))
您刚才问过这个问题吗?在Python 3.3.0中,你不应该使用“输入”而不是“原始输入”吗?无论如何,这是有效的。谢谢你。@Blckknght:我对Python 3不太确定(虽然OP确实不需要
浮点(
在Python 3中,OP也不需要
int
,所以我认为这两个调用可能都是不必要的)。但是,鉴于print语句被用作一个带有两个参数的函数,我同意它可能是Python 3。@JordanSimps:这就是我问
这是Python 3还是Python 2.X?
的原因comment@DavidRobinson您需要float()或int(),因为输入返回字符串。@RobertS:Typo-comment应该是
在Python2中不需要float
在Python3.3.0中不应该使用“input”而不是“raw_input”吗?总之,这很有效。谢谢。@Blckknght:我不确定Python3是否需要
float(
在Python3中,OP也不需要
int
,因此我认为这两个调用可能都是不必要的)。但是,鉴于print语句被用作一个带有两个参数的函数,我同意它可能是Python 3。@JordanSimps:这就是我问
这是Python 3还是Python 2.X?
的原因comment@DavidRobinson您需要float()或int(),因为输入返回字符串。@RobertS.:Typo-comment应该是
,在Python 2中不需要float
mealPrice = float(input('Enter your meal price:').lstrip("$"))