【发布时间】:2013-08-25 16:50:50
【问题描述】:
我是 python 新手,目前正在做一个涉及切片的练习。该练习涉及以任何方式切割字符串“Pizza”。您输入切片的开始和结束位置,程序会显示结果。这是我的代码:
#Pizza Slicer
print(
"""
Slicing 'Cheat Sheet'
0 1 2 3 4 5
+---+---+---+---+---+
| p | i | z | z | a |
+---+---+---+---+---+
-5 -4 -3 -2 -1
"""
)
word="pizza"
print("Enter the beginning and ending index for your slice of 'pizza'.")
print("Press the enter key at 'Begin' to exit.")
start=None #initialise
while start !="":
start=int(input("\nStart: "))
if start:
finish=int(input("Finish: "))
print("word[",start,":",finish,"] is", word[start:finish])
问题是,当我输入起始值“0”时,我无法输入结束值 - “开始:”再次出现。我认为这可能与“开始 = 无”声明有关。另一个问题是输入负的起始值和结束值不起作用并且不会返回切片。不知道为什么。
感谢您的帮助。
【问题讨论】:
-
是的,如果你摆脱了
if start位(暂时)它应该可以正常工作。您可以尝试类似:if start in [0,1,2,3,45]:,它将检查start是否出现在列表中。 -
最好将文档字符串中的索引值向右移动 2 个字符,因为它们属于字母,而不是它们之间的边界。这可能有助于习惯于“从索引(包括)到索引(排除)”进行切片。
标签: python python-3.x slice