Python:如何使用输入函数在句子中间(填空样式)获得用户输入?

时间:2016-07-07 13:17:33

标签: python python-3.x user-input tax

我正在尝试创建一个计算销售税的计划。我首先询问用户他们用餐的总费用是多少。然后,我会以下列形式询问他们所在地区的销售税:

y = input('What is the sales tax of your area? ')

我想要一个百分号"%"在问题的最后,以便用户将问题视为:

您所在地区的销售税是多少?_%,用户可以在问题和百分号之间输入一个数字(用下划线表示)。

这就是我的尝试:

x = float(input("What is the cost of your meal? "))
y = input("What is the sales tax in your area? "+"%")

float(y)
y = y/100
cost = (x+(x*y))

print("The cost of your food is " + cost)

5 个答案:

答案 0 :(得分:1)

你可以做这样的事情

x=input("What is the sales tax in your area?    % \x1B[5D")

首先打印该行,然后转义序列\x1B[5D将光标向后移动5位。但是第一个答案说的是,如果事先不知道输入将会持续多长时间,你就无法做到这一点。如果它更长,那么它将覆盖百分号。你可以在这里查看more such escape sequence

另外,如果您不是非常迫切地想要这个,那么我建议您让用户以百分比形式输入,而不是在inpur末尾添加%标志

答案 1 :(得分:1)

我有一个解决方案。只是一个技巧,即使在搜索很长时间之后也没有找到直接解决方案。但有一件事是肯定的,你需要知道输入的长度,否则对于很长的输入,!将被覆盖。代码如下:

x = float(input("What is the cost of your meal? "))
y = input("What is the sales tax in your area?  %\rWhat is the sales tax in your area?")

y = float(y)/100
cost = (x+(x*y))

print("The cost of your food is ", cost)

答案 2 :(得分:0)

在不知道输入的时间长度的情况下,你不能用input()做到这一点。您可以要求用户以百分比回答。您可以使用ANSI转义码将百分号放在输入的位置之后,但如果您键入直到达到百分号,它将被覆盖。如果你确实需要,那么你可以使用curses来完成整个事情。

答案 3 :(得分:0)

我认为最简单的方法是这样的

y = input("What is the sales tax in your area?")

y = y + "%"

答案 4 :(得分:0)

我最近遇到了同样的问题,我发现了一种显示所需内容的方法!如果导入getpass,则应该可以使用下面的代码来获得所需的结果。

import getpass

salesTax = getpass.getpass("The sales tax in my area is " + getpass.getpass() + " percent."

如果运行此命令,则显示的第一件事应该是“密码:”,例如,如果输入5,则输出将是“我所在地区的营业税为5%”。我不是最擅长解释事物的人,因此,如果您想了解它的实际作用,我会做一个代表。 https://repl.it/@ERokos_tcsyl/tester