如何让句点显示在索引号后面?
How do I get periods to display behind the index numbers?
我正在为学校做一个项目。我能够让我的功能按照我需要的方式工作,使用老师想要的所有参数,除了它显示的时候。我需要它从两个列表中拉出,它确实如此,并将两个列表并排显示,它确实如此。然而在老师的版本中,display/output 看起来像这样:
0. (.39) Drip coffee
1. (.59) Hot chocolate
2. (.79) Caffe Latte
3. (.49) Bagel
4. (.69) Blueberry muffin
5. (.39) Chocolate chip cookie
6. Reset order
7. Checkout
然而,我的版本是这样的:
0 (.39) Drip coffee
1 (.59) Hot chocolate
2 (.79) Caffe Latte
3 (.49) Bagel
4 (.69) Blueberry muffin
5 (.39) Chocolate chip cookie
6. Reset order
7. Checkout
如您所见,我遗漏了索引号后的句点(如果我的术语不准确,请见谅。我是一个极端的初学者,我很难把术语说清楚。)。这是我的代码:
products = [ "Drip coffee",
"Hot chocolate",
"Caffe Latte",
"Bagel",
"Blueberry muffin",
"Chocolate chip cookie" ]
prices = [ 2.39,
3.59,
3.79,
1.49,
2.69,
2.39 ]
for i, product in enumerate(products):
price = prices[i]
print(i, "(${})".format(price), product)
print()
print("6. Reset", "\n" + "7. Checkout")
有什么方法可以添加或修复它,以便输出会在我需要的地方显示句点吗?此外,该项目的说明说将 6 和 7 的选项作为字符串放在 for 循环之外。这就是为什么他们不像其他人那样被包括在内。这也是为什么我能够轻松地在最后两个数字后面添加句点的原因,哈哈。任何帮助将不胜感激,并解释为什么解决方案是这样的。谢谢大家!
您应该标记语言,但这样做就可以了:
products = [ "Drip coffee",
"Hot chocolate",
"Caffe Latte",
"Bagel",
"Blueberry muffin",
"Chocolate chip cookie" ]
prices = [ 2.39,
3.59,
3.79,
1.49,
2.69,
2.39 ]
for i, product in enumerate(products):
price = prices[i]
print("{}. (${})".format(i, price), product)
print()
print("6. Reset", "\n" + "7. Checkout")
“,”允许您添加另一个变量,但也会添加一个 space。只需将其更改为 + 并添加“.”即可,就像我在上面所做的那样,使用 .format 来放置两个变量。
要打印句号,您需要告诉 python 打印句号,当然!
print("{}.".format(i), "(${})".format(price), product)
但是,这是一个非常时髦的打印语句。让我们探索其他几个选项:
# a bit more readable using format
print("{}. (${}) {}".format(i, price, product))
# using the old-style string formatting
print("%d. ($%.2f) %s" % (i, price, product))
# using new-style f-strings
print(f"{i}. (${price:.2f}) {product}")
供参考,old-style string formatting and f-strings. Also, here's a cheat sheet 用于字符串格式化。我用 .2f
来表示精度为 2 的定点数,例如2.5
打印为 2.50
,2.504234
也打印为 2.50
。
此外,让我们用 zip:
让你的循环更 pythonic
for i, (prod, price) in enumerate(zip(products, prices)):
print(f"{i}. (${price:.2f}) {prod}")
干净多了,不是吗?祝您学习愉快!
我正在为学校做一个项目。我能够让我的功能按照我需要的方式工作,使用老师想要的所有参数,除了它显示的时候。我需要它从两个列表中拉出,它确实如此,并将两个列表并排显示,它确实如此。然而在老师的版本中,display/output 看起来像这样:
0. (.39) Drip coffee
1. (.59) Hot chocolate
2. (.79) Caffe Latte
3. (.49) Bagel
4. (.69) Blueberry muffin
5. (.39) Chocolate chip cookie
6. Reset order
7. Checkout
然而,我的版本是这样的:
0 (.39) Drip coffee
1 (.59) Hot chocolate
2 (.79) Caffe Latte
3 (.49) Bagel
4 (.69) Blueberry muffin
5 (.39) Chocolate chip cookie
6. Reset order
7. Checkout
如您所见,我遗漏了索引号后的句点(如果我的术语不准确,请见谅。我是一个极端的初学者,我很难把术语说清楚。)。这是我的代码:
products = [ "Drip coffee",
"Hot chocolate",
"Caffe Latte",
"Bagel",
"Blueberry muffin",
"Chocolate chip cookie" ]
prices = [ 2.39,
3.59,
3.79,
1.49,
2.69,
2.39 ]
for i, product in enumerate(products):
price = prices[i]
print(i, "(${})".format(price), product)
print()
print("6. Reset", "\n" + "7. Checkout")
有什么方法可以添加或修复它,以便输出会在我需要的地方显示句点吗?此外,该项目的说明说将 6 和 7 的选项作为字符串放在 for 循环之外。这就是为什么他们不像其他人那样被包括在内。这也是为什么我能够轻松地在最后两个数字后面添加句点的原因,哈哈。任何帮助将不胜感激,并解释为什么解决方案是这样的。谢谢大家!
您应该标记语言,但这样做就可以了:
products = [ "Drip coffee",
"Hot chocolate",
"Caffe Latte",
"Bagel",
"Blueberry muffin",
"Chocolate chip cookie" ]
prices = [ 2.39,
3.59,
3.79,
1.49,
2.69,
2.39 ]
for i, product in enumerate(products):
price = prices[i]
print("{}. (${})".format(i, price), product)
print()
print("6. Reset", "\n" + "7. Checkout")
“,”允许您添加另一个变量,但也会添加一个 space。只需将其更改为 + 并添加“.”即可,就像我在上面所做的那样,使用 .format 来放置两个变量。
要打印句号,您需要告诉 python 打印句号,当然!
print("{}.".format(i), "(${})".format(price), product)
但是,这是一个非常时髦的打印语句。让我们探索其他几个选项:
# a bit more readable using format
print("{}. (${}) {}".format(i, price, product))
# using the old-style string formatting
print("%d. ($%.2f) %s" % (i, price, product))
# using new-style f-strings
print(f"{i}. (${price:.2f}) {product}")
供参考,old-style string formatting and f-strings. Also, here's a cheat sheet 用于字符串格式化。我用 .2f
来表示精度为 2 的定点数,例如2.5
打印为 2.50
,2.504234
也打印为 2.50
。
此外,让我们用 zip:
让你的循环更 pythonicfor i, (prod, price) in enumerate(zip(products, prices)):
print(f"{i}. (${price:.2f}) {prod}")
干净多了,不是吗?祝您学习愉快!