居中显示字符串

"""
    输入三行英文字符串,让这三行文字在一个方框居中显示
    如:
    The north has beautiful women,
    unique and independent.
    Once you pour out the city,
    you pour out the country.

    显示如下
    +----------------------------------------+
    丨    The north has beautiful women,     丨
    丨       unique and independent.         丨
    丨      Once you pour out the city,      丨
    丨       you pour out the country.       丨
    +----------------------------------------+
"""
#方法一:
str_one = input('请输入第一个字符串:')
str_two = input('请输入第二个字符串:')
str_three = input('请输入第三个字符串:')
str_four = input('请输入第四个字符串:')

str_len = len(str_one)
if len(str_two) > str_len:
    str_len = len(str_two)
if len(str_three) > str_len:
    str_len = len(str_three)
if len(str_four) > str_len:
    str_len = len(str_four)
#得到最长的字符串 str_len
str_line_1 = '+' + '-' * (str_len+1) + '+' # 得到上边框
print(str_line_1)
#第一个字符串
left = (str_len-len(str_one)) // 2   # 计算第一行左侧空格数
right = str_len - len(str_one) - left  #计算第一行右侧空格数
str_line_2 = '|' + ' ' * left + str_one + ' ' * right + '|'
print(str_line_2)
#第二个字符串
left = (str_len-len(str_two)) // 2   # 计算第二行左侧空格数
right = str_len - len(str_two) - left  #计算第二行右侧空格数
str_line_3 = '|' + ' ' * left + str_two + ' ' * right + '|'
print(str_line_3)
#第三个字符串
left = (str_len-len(str_three)) // 2   # 计算第三行左侧空格数
right = str_len - len(str_three) - left  #计算第三行右侧空格数
str_line_4 = '|' + ' ' * left + str_three + ' ' * right + '|'
print(str_line_4)
#第四个字符串
left = (str_len-len(str_four)) // 2   # 计算第四行左侧空格数
right = str_len - len(str_four) - left  #计算第四行右侧空格数
str_line_5 = '|' + ' ' * left + str_four + ' ' * right + '|'
print(str_line_5)

str_line_6 = '+' + '-' * (str_len+1) + '+' # 得到下边框
print(str_line_6)


#方法二

str_one = input('请输入第一个字符串:')
str_two = input('请输入第二个字符串:')
str_three = input('请输入第三个字符串:')
str_four = input('请输入第四个字符串:')
#获取最长的字符串个数
str_len = max(len(str_one),len(str_two),len(str_three),len(str_four))
#上边框
str_line_1 = '+' + '-' *(str_len+2) + '+'
print(str_line_1)
#第一个字符串
print('|' + str_one.center(str_len) + '|')
#第二个字符串
print('|' + str_two.center(str_len) + '|')
#第二个字符串
print('|' + str_three.center(str_len) + '|')
#第二个字符串
print('|' + str_four.center(str_len) + '|')
#下边框
str_line_6 = '+' + '-' *(str_len+2) + '+'
print(str_line_6)

猜你喜欢

转载自www.cnblogs.com/touch-prc/p/12905876.html
今日推荐