python 一个简单的、迅速生成和执行循环的辅助脚本

来源:互联网 发布:沈阳云易惠网络 编辑:程序博客网 时间:2024/06/11 09:55

一个简单的、迅速生成和执行循环的计算机辅助软件工程(CASE)。 它提示用户给出各种参数(比如, 循环类型(while 或 for), 迭代的数据类型[数字或序列]),生成代码字串,并执行它


# dashes = '\n' + '-' * 50exec_dict = {'f': """                        # for loopfor %s in %s:    print %s""",'s': """                        # sequence while loop%s = 0%s = %swhile %s < len(%s):    print %s[%s]    %s = %s + 1""",'n': """                        # counting while loop%s = %dwhile %s < %d:    print %s    %s = %s + %d"""}def main():    ltype = raw_input('Loop type? (For/While) ')    dtype = raw_input('Data type? (Number/Sequence) ')    if dtype == 'n':        start = input('Starting value? ')        stop = input('Ending value (non-inclusive)? ')        step = input('Stepping value? ')        seq = str(range(start, stop, step))    else:        seq = raw_input('Enter sequence: ')    var = raw_input('Iterative variable name? ')    if ltype == 'f':        exec_str = exec_dict['f'] % (var, seq, var)    elif ltype == 'w':        if dtype == 's':            svar = raw_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 'The custom-generated code for you is:' + dashes    print exec_str + dashes    print 'Test execution of the code:' + dashes    exec exec_str    print dashesif __name__ == '__main__':    main()


执行结果:

Loop type? (For/While) fData type? (Number/Sequence) nStarting value? 1Ending value (non-inclusive)? 4Stepping value? 2Iterative variable name? n--------------------------------------------------The custom-generated code for you is:--------------------------------------------------                        # for loopfor n in [1, 3]:    print n--------------------------------------------------Test execution of the code:--------------------------------------------------13--------------------------------------------------


0 0
原创粉丝点击