模块化编程

Posted aWolfMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块化编程相关的知识,希望对你有一定的参考价值。

#用"from ... import *"来执行代码模块中的函数,就不需要提到模块名,而且可以使用模块中定义的变量
#如果你需要使用完全限定名(FQN)来用模块名限定函数名(这也是Python里推荐的做法),可以用"import..."
from transaction_module import *
#import transaction_module
#items = ["DONUT","LATTE","FILTER","MUFFIN"]
#prices = [1.50,2.0,1.80,1.20]
running = True

while running:
    option = 1
    for choice in items:
        print(str(option)+"."+choice)
        option = option + 1
    print(str(option)+".Quit")
    
    choice = int(input("your choice is:"))
    if choice == option:
        running = False
    else:
        credit_card = int(input("your credit card is:"))
        save_transaction(prices[choice-1]*100,credit_card,items[choice-1])
        print("Yes")
#模块文件
#transaction_module.py

#import re
def save_transaction(price,credit_card,item):
    file = open("transaction.txt","a")
    file.write("%16s%07d %16s\n"%(credit_card,price,item))
    file.close()

def pare_sale_info():
    file = open("sale_info.txt")
    a = []
    for each_line in file:
        (card_num,item_num) = each_line.split(" ")
        a.append([int(card_num),int(item_num)])
    return(a)

items
= ["DONUT","LATTE","FILTER","MUFFIN"] prices = [1.50,2.0,1.80,1.20] #后面仅做模块调试使用 sale_info = pare_sale_info() i = 0 for each_info in sale_info: save_transaction(prices[each_info[1]-1]*100,each_info[0],items[each_info[1]-1]) #print(item)

操作相关的文件:

#sale_info.txt

6382746238764830     1
6382746238764840     2
6382746238764850     3
6382746238764860     4
6382746238764870     1
6382746238764880     2
6382746238764890     3
6382746238764900     4
6382746238764910     1
6382746238764920     2
6382746238764930     3
6382746238764940     4
6382746238764950     1
6382746238764960     2
6382746238764970     3
#transaction.txt

63827462387648300000150            DONUT
63827462387648400000200            LATTE
63827462387648500000180           FILTER
63827462387648600000120           MUFFIN
63827462387648700000150            DONUT
63827462387648800000200            LATTE
63827462387648900000180           FILTER
63827462387649000000120           MUFFIN
63827462387649100000150            DONUT
63827462387649200000200            LATTE
63827462387649300000180           FILTER
63827462387649400000120           MUFFIN
63827462387649500000150            DONUT
63827462387649600000200            LATTE
63827462387649700000180           FILTER
63827462387648300000150            DONUT
63827462387648400000200            LATTE
63827462387648500000180           FILTER
63827462387648600000120           MUFFIN

 

以上是关于模块化编程的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

Atom编辑器入门到精通 Atom使用进阶

python之模块和包

使用 Pygments 检测代码片段的编程语言

面向面试编程代码片段之GC

如何有条件地将 C 代码片段编译到我的 Perl 模块?