Text Wrap

Sort by

recency

|

1913 Discussions

|

  • + 0 comments

    import textwrap def wrap(string, max_width): return textwrap.fill(string,max_width)

    if name == 'main': string, max_width = input(), int(input()) result = wrap(string, max_width) print(result)

  • + 0 comments
    import textwrap
    from typing import Any
    
    def is_valid_str(string: Any) -> bool:
        return (
            isinstance(string, str) 
            and bool(string.strip())
            and (0 < len(string) < 1000)
        )
        
    def is_valid_width(width: Any) -> bool:
        return (
            isinstance(width, int) 
            and str(int(width)).strip()
            and (0 < width < len(string))
        )
        
        
        
    def wrap(string: str, max_width: int) -> str:
        if not is_valid_str(string):
            raise ValueError(f"Invalid input: {string}")
        if not is_valid_width(max_width):
            raise ValueError(f"Invalid input: {max_width}")
            
        wrapped = textwrap.wrap(string, max_width)
        return "\n".join(wrap for wrap in wrapped)
            
    
    
    if __name__ == '__main__':
        string, max_width = input(), int(input())
        result = wrap(string, max_width)
        print(result)
    
  • + 0 comments

    Somehow the main method is expecting the remaining string to be return and printed.

    import textwrap

    def wrap(string, max_width):

    while len(string) > max_width:
        print(string[0:max_width])
        string = string[max_width:]
    
    # if len(string) > 0:
    #     words.append(string)
    
    return string
    

    if name == 'main': string, max_width = input(), int(input()) result = wrap(string, max_width) print(result)

  • + 0 comments

    without textwrap module....

    def wrap(string, max_width):
        new_string = ""
         
        for i in range(len(string)):
            new_string += string[i]
            if (i+1) % max_width == 0:
                new_string += '\n'
           
        return new_string
    
  • + 0 comments

    Without textwrap module

    def wrap(string, max_width):
        new_str = ''
        ind_width = []
        for i in range(len(string)):
            if (i+1)%max_width == 0:
                new_str = new_str + string[i-(max_width-1):i+1]+'\n'
                ind_width.append(i+1)
        new_str = new_str+string[max(ind_width):]
        return new_str