簡體   English   中英

為什么此python 3字符串處理不起作用?

[英]Why doesn't this python 3 string handling work?

為什么這個字符串處理不起作用?

當你輸入"hectare" ,將完整的答案,它應打印"+2" 當僅"hect"正確且接下來的三個字母不正確時,打印應為"+1"

目前,只有正確設置"hect"時,我才能得到打印結果。

answer = "hectare"
answerlen = int(len(answer)/2)

test = str(input("enter it"))


if test == answer:
print("+2")
else:
    if test == answer[0:answerlen]:
        print("+1")

您正在將整個testanswer的開始進行比較。 相反,請嘗試:

if test[:answerlen] == answer[:answerlen]:

請注意, 0是切片的默認起始位置。

此外,您可以簡化使用整數除法:

answerlen = len(answer) // 2

和小elif

if test == answer:
    print("+2")
elif test[:answerlen] == answer[:answerlen]:
    print("+1")

並從startswith

elif answer.startswith(test[:answerlen]):

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM