首页 > 解决方案 > 如何在整数输入的基础上重复句子?

问题描述

Sheldon Cooper 曾经敲过 Penny 的门。众所周知,他会说“敲门!敲!敲!一分钱!敲!敲!敲!一分钱!……”。他继续敲门,直到佩妮开门。每个单词需要一秒钟。如果 Penny 在 N(input) 秒后开门,那么编写一个 python 程序打印出当时生成的整个句子。注意:您的程序中只有一个输入 N。对于这个问题,我的代码是:

str = "knock!knock!knock!penny"
#split string
splits = str.split()

#for loop to iterate over words array
for split in splits:
  print(split)

我可以访问这句话中的每个单词,或者我可以只写半个句子。但我不能让它遍历句子。我的输出应该是:输入:6 输出:敲!敲!敲!便士!敲!敲!

标签: pythonstringloops

解决方案


如果你使用 sleep 和这样的循环,它很容易实现,

import time
input_string = "knock!knock!knock!penny"
splitted = input_string.split('!')

def show_knock():
    knocking = int(input("Enter Time in second : "))
    count = 0
    otp_list = []
    for i in range(knocking):
        tmp = f"{splitted[count]}!"
        otp_list.append(tmp)
        if count == 3:
            count =0
        else:
            count+=1
        time.sleep(1)
    print(''.join(otp_list))  # '!'.join(otp_list) can be used here instead of f String

输出knock!knock!knock!penny!knock!knock!用于输入 6。


推荐阅读