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