繁体   English   中英

如何让 python 计算一个单词的字符数,然后继续或停止代码?

[英]How can I get python to count the amount of characters of a word and then continue or stop the code?

对于作业,我需要使用“len”function 来确定在“original_word”中输入了多少个字符。 如果单词大于或小于五个字符,程序需要“exit()”

我怎样才能做到这一点?

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)

一种可能的方法是制作function,如果您的单词长度为5,则完成代码,否则返回短语“长度不是5,再试一次”
你也可以把代码写得更短一些。 这是示例:

def main(original_word, character_one):
    if len(original_word) == 5:
        temp_word = original_word
        print(f"Searching for {character_one} in {original_word}")
        while True:
            if character_one in temp_word:
                index = temp_word.find(character_one)
                print(f"{character_one} found at index {index}")
                temp_word = temp_word[:index] + ' ' + temp_word[index + 1:]
            else:
                break

        counter = original_word.count(character_one)
        print(f"{counter} instances of {character_one} found in {original_word}")
    
    else:
        return "The input word is greater or less than 5 characters! Please, try again."


original_word: str = input("Enter a 5-character word: ")
character_one: str = input("Enter a single character: ")

if __name__ == "__main__":
    main(original_word, character_one)

第一个修改是 f-string。 这是连接而不是汇总变量和字符串的最流行和最方便的未来。
第二个修改是检查字符是否在单词中,而不是使用大量的 if 语句。 很容易通过以下方式检查:

if x in y:

在字符串中查找字符索引的方法是方法find 样本:

string.find(substring) # It returns the index of substring in string

最后一个是方法计数器,它返回字符串中 ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ 的数量。 这是示例:

string.count(substring) # It returns amount of substring in your string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM