如何用Python的len函数判断单词长度并控制程序启停?
问题描述
编程作业要求:使用len()函数判断输入变量original_word的字符数量,若该单词长度不等于5(大于或小于5个字符),程序需调用exit()终止运行。现有如下Python代码,请问如何添加该逻辑?
原代码:
original_word: str = input("Enter a 5-character word: ") character_one: str = input("Enter a single character: ") print("Searching for " + character_one + " in " + original_word) if character_one == original_word[0]: print(character_one + " found at index 0") if character_one == original_word[1]: print(character_one + " found at index 1") if character_one == original_word[2]: print(character_one + " found at index 2") if character_one == original_word[3]: print(character_one + " found at index 3") if character_one == original_word[4]: print(character_one + " found at index 4") counter = 0 for c in original_word: if c == character_one: counter += 1 if counter == 2: print(counter, " instances of " + character_one + " found in " + original_word) if counter == 1: print(counter, " instance of " + character_one + " found in " + original_word) if counter == 0: print("No instances of " + character_one + " found in " + original_word)
解决方案
只需在获取original_word输入后,立刻添加长度判断逻辑即可,具体修改如下:
修改后的完整代码:
import sys original_word: str = input("Enter a 5-character word: ") # 添加长度校验逻辑 if len(original_word) != 5: print("输入单词长度不符合要求,程序终止") sys.exit() character_one: str = input("Enter a single character: ") print("Searching for " + character_one + " in " + original_word) if character_one == original_word[0]: print(character_one + " found at index 0") if character_one == original_word[1]: print(character_one + " found at index 1") if character_one == original_word[2]: print(character_one + " found at index 2") if character_one == original_word[3]: print(character_one + " found at index 3") if character_one == original_word[4]: print(character_one + " found at index 4") counter = 0 for c in original_word: if c == character_one: counter += 1 if counter == 2: print(counter, " instances of " + character_one + " found in " + original_word) if counter == 1: print(counter, " instance of " + character_one + " found in " + original_word) if counter == 0: print("No instances of " + character_one + " found in " + original_word)
关键说明
- 校验逻辑必须放在获取
original_word之后、获取character_one之前,确保不符合条件时直接终止,不执行后续流程 - 若不想导入
sys模块,也可直接使用内置的exit()函数,但调用sys.exit()是更规范的写法 - 可自定义提示信息,让用户明确程序终止的原因
内容的提问来源于stack exchange,提问作者kitkat
相关产品推荐
相关产品推荐

