[英]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")
您正在將整個test
與answer
的開始進行比較。 相反,請嘗試:
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.