run.py 2.1 KB
Newer Older
F
feilong 已提交
1 2 3 4 5
# -*- coding: UTF-8 -*-
# 作者:幻灰龙
# 标题:Python 运行方式
# 描述:提示用户选择想要了解的Python 的两种运行方式,选择后输出对应方式的基本说明,最后输出用户学习了几种运行方式

F
feilong 已提交
6
if __name__ == '__main__':
F
feilong 已提交
7
    run = {
F
feilong 已提交
8
        "repl": {
F
feilong 已提交
9 10 11 12 13 14 15
            "title": "交互式编程( Interactive )",
            "desc": [
                "打开终端,输入 python 回车",
                "进入 Python 交互式命令行",
                "输入 print('monkey king is coding!')"
            ]
        },
F
feilong 已提交
16
        "source": {
F
feilong 已提交
17 18 19 20 21 22 23 24 25 26
            "title": "Python 源代源文件( File )",
            "desc": [
                "使用你喜欢的编辑器拷贝本练习的代码, 保存为run.py",
                "打开终端,cd 到 run.py 保存的目录",
                "输入 python run.py"
            ]
        }
    }

    print("有两种基本的方式运行 Python")
F
feilong 已提交
27 28 29 30 31 32
    shoutcut_keys = {}
    for name in run:
        key = name[0].lower()
        shoutcut_keys[key] = name
        item = run.get(name)
        print("* {}: {}".format(name, item['title']))
F
feilong 已提交
33

F
feilong 已提交
34 35
    has_learn_repl = False
    has_learn_source = False
F
feilong 已提交
36 37

    while True:
F
feilong 已提交
38
        ret = input("请选择你想了解的 Python 运行方式(输入:r/s选择,输入 q 退出):")
F
feilong 已提交
39 40
        if ret == 'q':
            break
F
feilong 已提交
41 42 43 44
        elif ret == 'r':
            has_learn_repl = True
        elif ret == 's':
            has_learn_source = True
F
feilong 已提交
45

F
feilong 已提交
46 47
        name = shoutcut_keys.get(ret)
        if name is None:
F
feilong 已提交
48 49
            print("[错误] 不支持的运行方式")
        else:
F
feilong 已提交
50
            item = run.get(name)
F
feilong 已提交
51 52 53 54
            desc = item['desc']
            for i in range(0, len(desc)):
                print("{}. {}".format(i, desc[i]))

F
feilong 已提交
55
    if has_learn_repl and has_learn_source:
F
feilong 已提交
56
        print("[2/2]您已完成两种 Python 运行方式的学习")
F
feilong 已提交
57
    elif has_learn_source:
F
feilong 已提交
58
        print("[1/2]您已完成 Python 源代码方式运行学习")
F
feilong 已提交
59
    elif has_learn_repl:
F
feilong 已提交
60 61 62
        print("[1/2]您已完成 Python 交互式命令行运行学习")
    else:
        print("[0/2]您似乎跳过了运行方式的学习?期待下次光临!")