For Loop with Second Parameter String放在第一个参数字符串

时间:2017-10-15 17:28:47

标签: python python-2.7

我是python的新手,需要编写一个使用短语作为第一个参数的程序,第二个参数是一个字符串,用作填充短语中每个单词之间的填充,替换短语中现有的空白区域。

短语中的最后一个单词后面必须没有填充 - 这可以通过使用“...”(三个点)作为填充字符串来显示。要了解我的需求,请查看以下示例:

  
    
      

inputPhrase(“很久以前的很久以前”,“”)
      会导致以下输出:       曾几何时前很久以前

    
  

现在每个单词之间有三个空格填充。

并显示在最后一个单词后面没有填充。示例如下。

  
    
      

inputPhrase(“很久以前的很久以前”,“......”)       一旦... ...在一个... ...时间一久... ... ...时间前

    
  

还需要进行两项检查:

  1. 如果填充字符串的长度不在1到5个字符之间,则必须生成相应的错误消息:
  2.   
        
          

    inputPhrase(“很久以前的很久以前”,“”)       填充必须介于1到5个字符之间。你有0个字符       inputPhrase(“很久以前的很久以前”,“”)       填充必须介于1到5个字符之间。你有6个字符

        
      
    1. 如果输入空短语,则会产生相应的错误消息:
    2.   
          
            

      inputPhrase(“”,“”)       空短语。输入至少一个字符,单词或由空格或空格分隔的单词

          
        

1 个答案:

答案 0 :(得分:0)

以下代码应该这样做。但请注意,以备将来参考,请展示您尝试过的内容。

def inputPhrase(s, padding):
    if s==None:
        print("Null phrase. Enter at least one character, a word, or words separated by a space or spaces.")
        return

    if len(padding)>5 or len(padding)<1:
        print("You had", len(padding),"characters, Padding must be between 1 and 5 characters.")
        return

    print(s.replace(' ',padding))

inputPhrase("Once upon a time a long time ago", '...')
#Once...upon...a...time...a...long...time...ago

inputPhrase(None,'a')
#Null phrase. Enter at least one character, a word, or words separated by a space or spaces.

inputPhrase("Once upon a time a long time ago",'')
#You had 0 characters, Padding must be between 1 and 5 characters.