Python核心编程第二版程序14.1改写

简介: Python核心编程第二版程序14.1改写

生成一个循环程序。使用python 3改写,并将输入lower处理,避免输入大小写对判断的影响。


这里面有个知识点是将写好的命令用exec执行

#!/usr/bin/env python 
dashes = '\n' + '-' * 50 # dashed line
#dashes用于做格式化输出
exec_dict = { 
'f': """ # for loop 
for %s in %s: 
    print(%s )
""", 
's': """ # sequence while loop 
%s = 0 
%s = %s 
while %s < len(%s): 
    print(%s[%s] ) 
    %s = %s + 1 
""", 
'n': """ # counting while loop 
%s = %d 
while %s < %d: 
    print(%s ) 
    %s = %s + %d 
""" 
} 
def main(): 
    ltype = input('Loop type? (For/While) ').lower() 
    dtype = input('Data type? (Number/Seq) ').lower() 
    #输入f或者w
    if dtype == 'n': 
        start = int(input('Starting value? ') ) 
        stop = int(input('Ending value (non-inclusive)? ') )
        step = int(input('Stepping value? ') )
        seq = str(range(start, stop, step)) 
    else: 
        seq = input('Enter sequence: ') 
    var = input('Iterative variable name? ') 
    if ltype == 'f': 
        exec_str = exec_dict['f'] % (var, seq, var) 
    elif ltype == 'w': 
        if dtype == 's': 
            svar = input('Enter sequence name? ') 
            exec_str = exec_dict['s'] % \
            (var, svar, seq, var, svar, svar, var, var, var) 
        elif dtype == 'n': 
            exec_str = exec_dict['n'] % \
            (var, start, var, stop, var, var, var, step) 
    print(dashes) 
    #读取之后开始拼接字符串输出
    print('Your custom-generated code:' + dashes )
    print(exec_str + dashes )
    print('Test execution of the code:' + dashes )
    exec(exec_str )
    print(dashes )
if __name__ == '__main__': 
    main() 
目录
相关文章
|
4天前
|
数据挖掘 数据处理 Python
Python编程入门:从基础到实践
【6月更文挑战第26天】这篇文章引导读者逐步学习Python编程,从基础语法如变量、数据类型(整数、浮点数、字符串)到条件语句、循环(if/for/while),再到函数定义和模块导入。通过实例展示了Python在文本处理、数据分析(使用pandas)和Web开发(使用Flask)的应用。学习Python能为初学者开启更广阔的技术领域,如面向对象编程、并发和网络编程等。
|
2天前
|
设计模式 程序员 测试技术
老程序员分享:Python数据模型及Pythonic编程
老程序员分享:Python数据模型及Pythonic编程
13 1
|
20小时前
|
分布式计算 并行计算 安全
在Python Web开发中,Python的全局解释器锁(Global Interpreter Lock,简称GIL)是一个核心概念,它直接影响了Python程序在多线程环境下的执行效率和性能表现
【6月更文挑战第30天】Python的GIL是CPython中的全局锁,限制了多线程并行执行,尤其是在多核CPU上。GIL确保同一时间仅有一个线程执行Python字节码,导致CPU密集型任务时多线程无法充分利用多核,反而可能因上下文切换降低性能。然而,I/O密集型任务仍能受益于线程交替执行。为利用多核,开发者常选择多进程、异步IO或使用不受GIL限制的Python实现。在Web开发中,理解GIL对于优化并发性能至关重要。
9 0
|
3天前
|
Web App开发 JSON 开发者
程序技术好文:用Python撸点视频背景音乐素材
程序技术好文:用Python撸点视频背景音乐素材
|
4天前
|
数据安全/隐私保护 Python
程序技术好文:猪圈密码python脚本实现
程序技术好文:猪圈密码python脚本实现
10 0
|
4天前
|
索引 Python 容器
Python数据类型:编程新手的必修课
Python数据类型:编程新手的必修课
|
4天前
|
算法 Java 程序员
Python面相对象的编程
Python面相对象的编程
|
4天前
|
Python
揭秘Python安装目录:你的编程宝库隐藏了哪些宝藏?
揭秘Python安装目录:你的编程宝库隐藏了哪些宝藏?
|
8天前
|
机器学习/深度学习 人工智能 前端开发
Python中的模块化编程
【6月更文挑战第17天】Python模块化编程与软件架构设计的关键在于拆分任务到独立模块,提高代码的可维护性、可重用性和可扩展性。例如,学生管理系统可分解为录入、查询和删除模块。MVC和MVVM架构模式有助于组织代码,而微服务和函数式编程将在未来发展中扮演重要角色。通过示例代码,读者能学习如何实现这些概念,提升项目开发效率和质量。
155 57
|
15天前
|
测试技术 虚拟化 云计算
GitHub高赞!速通Python编程基础手册,被玩出花了!
随着云时代的来临,Python 语言越来越被程序开发人员喜欢和使用,因为其不仅简单易学,而且还有丰富的第三方程序库和相应完善的管理工具。 从命令行脚本程序到 GUI程序,从图形技术到科学计算,从软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有 Python 的身影。 今天给小伙伴们分享的这份手册采用以任务为导向的编写模式,全面地介绍了 Python 编程基础及其相关知识的应用,讲解了如何利用 Python 的知识解决部分实际问题。
GitHub高赞!速通Python编程基础手册,被玩出花了!