我是python新手,目前正在进行一个涉及切片的练习。这个练习包括以任何方式切开“披萨”的细线。输入切片的起始位置和结束位置,程序将显示结果。这是我的代码:
#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”时,无法输入完成值-“Start:”再次出现。我想这可能和“Start=None”语句有关。另一个问题是,输入负的起始值和结束值不起作用,也不会返回切片。不知道为什么。在
谢谢你的帮助。在
问题
如果
0
用作谓词,则将其视为False。在另一个问题
^{pr2}$如果第一个索引大于(或等于)第二个索引,则生成空字符串:
负指数相同:
您是正确的,错误很可能是由于
start != ""
,因为空字符串和0的计算结果都为false。也许您可以使用isinstance
中内置的Python,如下所示:但是,这将接受任何整数,如果有人输入的数字超出范围-5到5,则可能会导致问题。相反,您可以使用
^{pr2}$range
来设置可接受的值:如果您想了解更多关于python切片的信息,请查看以下内容:
The python slice notation
相关问题 更多 >
编程相关推荐