Python每日一练(3)-输出编程三种境界

王国维先生在《人间词话》提出人生成大事业、大学问必须经过三种境界:古今之成大事业、大学问者,必经过三种之境界:"昨夜西风凋碧树。独上高楼,望尽天涯路。"此第一境也。"衣带渐宽终不悔,为伊消得人憔悴。"此第二境也。"众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。"此第三境也。此等语皆非大词人不能道。然遽以此意解释诸词,恐为晏、欧诸公所不许也。

编程学习的过程其实和王国维先生提出的人生三种之境界相似,成为编程大神,需要经过迷茫、隐忍和运斤成风的过程。

1. 三招隔行输出编程三种之境界

用三种方法,将编程三种之境界各行诗词之间加一个空行然后再输出,输出效果如下图所示。
在这里插入图片描述
示例代码如下:

# 第一种方法: 用print()来表示换行 在许多控制台程序中会用到
print("\033[0;34m\t\t 编程三种之境界")
print()
print("中外之编程成大事业者,必经过三种之境界")
print()
print("昨夜西风凋碧树。独上高楼,望尽天涯路。------此第一境也。")
print()
print("衣带渐宽终不悔,为伊消得人憔悴。------此第二境也。")
print()
print("众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。------此第三境也\033[0m")
print("-" * 50)

# 第二种方法: 在需要换行诗句末尾加\n
print("\033[0;34m\t\t 编程三种之境界\n")
print("中外之编程成大事业者,必经过三种之境界\n")
print("昨夜西风凋碧树。独上高楼,望尽天涯路。------此第一境也。\n")
print("衣带渐宽终不悔,为伊消得人憔悴。------此第二境也。\n")
print("众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。------此第三境也\033[0m")
print("-" * 50)

# 第三种方法: 在下一行诗句句首加上\n
print("\033[0;34m\t\t 编程三种之境界")
print("\n中外之编程成大事业者,必经过三种之境界")
print("\n昨夜西风凋碧树。独上高楼,望尽天涯路。", end="------")
print("此第一境也。")
print("\n衣带渐宽终不悔,为伊消得人憔悴。", end="------")
print("此第二境也。")
print("\n众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。------此第三境也\033[0m")
print("-" * 50)

2. 只用一行代码输出编程三种之境界

用一行代码,将编程三重之境界各行诗词之间加一个空行然后输出打印,输出效果如下图所示。
在这里插入图片描述
示例代码如下:

# 第一种方法: 使用\n 记住一定要写两个\n 第一个\n表示跳到空白行 第二个\n表示跳到下一句诗句
# 因为写一行太长 所以我手动回车 Pycharm自动帮我进行了换行处理 实际是一行代码
print("\033[0;34m\t\t 编程三种之境界\n\n中外之编"
      "程成大事业者,必经过三种之境界\n\n昨夜西风凋碧树。独上"
      "高楼,望尽天涯路。------此第一境也。\n\n衣带渐宽终不悔,为伊"
      "消得人憔悴。------此第二境也。\n\n众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。------此第三境也\033[0m")
print("-" * 50)
# 第二种方法: 使用chr()函数
print("\033[0;34m\t\t 编程三种之境界" + chr(10) + chr(10) + "中外之编"
        "程成大事业者,必经过三种之境界" + chr(10) + chr(10) + "昨夜西风凋碧树。独上"
            "高楼,望尽天涯路。------此第一境也。" + chr(
    10) + chr(10) + "衣带渐宽终不悔,为伊消得人憔悴。------此第二境也。"
      + chr(10) + chr(10) + "众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。------此第三境也\033[0m")
print("-" * 50)
# 第三种方法: 在诗句间通过","和"\n"转义符实现 有三种表现形式
print("\033[0;34m\t\t 编程三种之境界\n",
      "\n中外之编程成大事业者,必经过三种之境界。\n",
      "\n昨夜西风凋碧树。独上高楼,望尽天涯路。------------此第一境也。\n",
      "\n衣带渐宽终不悔,为伊消得人憔悴。------------此第二境也。\n",
      "\n众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。------------此第三境也。\033[0m")
print("-" * 50)
print("\033[0;34m\t\t 编程三种之境界\n\n",
      "中外之编程成大事业者,必经过三种之境界。\n\n",
      "昨夜西风凋碧树。独上高楼,望尽天涯路。------------此第一境也。\n\n",
      "衣带渐宽终不悔,为伊消得人憔悴。------------此第二境也。\n\n",
      "众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。------------此第三境也。\033[0m")
print("-" * 50)
print("\033[0;34m\t\t 编程三种之境界",
      "\n\n中外之编程成大事业者,必经过三种之境界。",
      "\n\n昨夜西风凋碧树。独上高楼,望尽天涯路。------------此第一境也。",
      "\n\n衣带渐宽终不悔,为伊消得人憔悴。------------此第二境也。",
      "\n\n众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。------------此第三境也。")

3. 动态滚动多行输出编程三种之境界

输出编程三种之境界诗句,实现每隔0.7秒钟输出1句诗句,输出效果如下图所示。在这里插入图片描述
示例代码如下:

import time

print("\t\t 编程三种之境界\n")
time.sleep(0.7)
print("中外之编程成大事业者,必经过三种之境界\n")
time.sleep(0.7)
print("昨夜西风凋碧树。独上高楼,望尽天涯路。---此第一境也。\n")
time.sleep(0.7)
print("衣带渐宽终不悔,为伊消得人憔悴。---此第二境也。\n")
time.sleep(0.7)
print("众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。---此第三境也。")

4. 动态滚动一行输出编程三种之境界

输出编程三种之境界诗句,实现动态原位置实现每隔2秒钟输出1句诗句,输出效果如下图所示。在这里插入图片描述
示例代码如下:

import time
import sys

sys.stdout.write("\r")
sys.stdout.write("              编程三种之境界")
sys.stdout.flush()
time.sleep(2)
sys.stdout.write("\r")
sys.stdout.write("中外之编程成大事业者,必经过三种之境界")
sys.stdout.flush()
time.sleep(2)
sys.stdout.write("\r")
sys.stdout.write("昨夜西风凋碧树。独上高楼,望尽天涯路。---此第一境也。")
sys.stdout.flush()
time.sleep(2)
sys.stdout.write("\r")
sys.stdout.write("衣带渐宽终不悔,为伊消得人憔悴。---此第二境也。")
sys.stdout.flush()
time.sleep(2)
sys.stdout.write("\r")
sys.stdout.write("众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。---此第三境也。")

5. 滚动字幕输出编程三种之境界

输出编程三种之境界诗句,实现动态原位置按字顺序输出诗句,间隔时间为0.3秒,输出效果如下图所示。
在这里插入图片描述
示例代码如下:

# 按字动态输出,可以将诗句放到列表中,然后按照顺序,利用for循环动态输出诗句。实现代码如下:
import time
import sys

verse_list = ["编程三种之境界",
        "中外之编程成大事业者,必经过三种之境界。",
        "昨夜西风凋碧树。独上高楼,望尽天涯路---此第一境也。",
        "衣带渐宽终不悔,为伊消得人憔悴---此第二境也。",
        "众里寻他千百度,蓦然回首,那人却在,灯火阑珊处---此第三境也。"]
i = 0
for item in verse_list:
    for i in range(len(item)):
        sys.stdout.write("\r")
        sys.stdout.write(item[0:i + 1])
        sys.stdout.flush()
        time.sleep(0.3)

6. 多行滚动字幕输出编程三种之境界

输出编程三种之境界诗句,实现动态多行滚动字幕按字顺序输出诗句,间隔时间为0.3秒,输出效果如下图所示。
在这里插入图片描述
示例代码如下:

import time
import sys

verse_list = ["             编程三种之境界",
              "中外之编程成大事业者,必经过三种之境界。",
              "昨夜西风凋碧树。独上高楼,望尽天涯路---此第一境也。",
              "衣带渐宽终不悔,为伊消得人憔悴---此第二境也。",
              "众里寻他千百度,蓦然回首,那人却在,灯火阑珊处---此第三境也。"]
i = 0
j = 0
for i in range(len(verse_list)):
    for j in range(len(verse_list[i])):
        sys.stdout.write("\r")
        if i == 1 and j == 0:
            sys.stdout.write(verse_list[0] + '\n')
        elif i == 2 and j == 0:
            sys.stdout.write(verse_list[1] + '\n')
        elif i == 3 and j == 0:
            sys.stdout.write(verse_list[2] + '\n')
        elif i == 4 and j == 0:
            sys.stdout.write(verse_list[3] + '\n')
        sys.stdout.write(verse_list[i][0:j + 1])
        sys.stdout.flush()
        time.sleep(0.3)

7. 随机动态一行输出多首诗词

输出编程三种之境界诗句,实现动态原位置按字顺序输出诗句,间隔时间为0.3秒,输出效果如下图所示。
在这里插入图片描述
示例代码如下:

import time
import sys
import random

verse_list = [["编程三种之境界", "中外之编程成大事业者,必经过三种之境界。",
         "昨夜西风凋碧树。独上高楼,望尽天涯路---此第一境也。",
         "衣带渐宽终不悔,为伊消得人憔悴---此第二境也。",
         "众里寻他千百度,蓦然回首,那人却在,灯火阑珊处---此第三境也。"],
        ["朝辞白帝彩云间,", "千里江陵一日还。", "两岸猿声啼不住,", "轻舟已过万重山。"]]
i = 0
while True:
    new = random.choice(verse_list)
    for item in new:
        for i in range(len(item)):
            sys.stdout.write("\r")
            sys.stdout.write(item[0:i + 1])
            sys.stdout.flush()
            time.sleep(0.3)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章