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() 
目录
相关文章
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
21天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
105 80
|
3天前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
43 28
|
10天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
30 14
|
22天前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
65 6
|
20天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
57 2
|
1月前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
|
16天前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
3月前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
42 1
|
3月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
33 1