zoukankan      html  css  js  c++  java
  • python基础:三层循环

    三层循环基本演示:

    break_flag = False                                                     #标记1
    break_flag2 = False                                                    #标记2
    break_flag3 = False                                                    #标记3
    while not break_flag:                                                  #因为标记是False,所以是 not break_flag成立循环
        print("the first layer is running...")
        option=input(">>>[b:back, q:quit,c:continue]:").strip()            #让买家选择,strip()去除输入时空格
        if option == "b":
            break_flag2 = True                                             #第一层,没得退,所以break_flag2=true,不断打印'the first...'
        elif option == "q":
            break_flag = True                                              #选择退出,把循环条件改为true,就能退出循环
        else:
            break_flag3,break_flag2 = False,False                          #既不是b,也不是q,则第二三层循环条件继续成立,往下走
        while not (break_flag or break_flag2):                             #进入第二层,那么第一层循环条件必须是false,q时随时可以退出
            print("in layer two...")
            option=input(">>>[b:back, q:quit,c:continue]:").strip()
            if option == "b":
                break_flag2 = True                                         #退到第一层,因为else:break_flag3,break_flag2 = False,False
            elif option == "q":
                break_flag = True                                          #退出整个循环
            else:
                break_flag2,break_flag3 = False,False                      #这里可以实现第二层第三层的切换
    
            while not(break_flag or break_flag2 or break_flag3):           #与上面同理
                print("in layer three...")
                option=input(">>>[b:back, q:quit,c:continue]:").strip()
                if option == "b":
                    break_flag3 = True
                elif option == "q":
                    break_flag = True
    

    文件内容查找和替换:

    import os                                                       #os操作系统模块
    f = open("test.txt","r")                                        #旧文件读模式
    f_new = open("text_new.txt","w")                                #新文件写模式
    for line in f:                                                  #遍历旧文件
        if line.startswith("alex"):                                 #找到要替换的行
            new_line = line.replace("alex","ALEX LI....")           #替换好赋值给新行
            f_new.write(new_line)                                   #把新行写到新文件
        else:
            f_new.write(line)                                       #如果找不到,则把原文写到新文件
    f.close()
    f_new.close()
    os.rename("test.txt","test.txt.bak")                            #把旧文件改名为back up
    os.rename("text_new.txt","test.txt")                            #新文件覆盖旧文件
    
    '''
    f = open("test.txt","r+")
    for line in f:
        if line.startswith("alex"):
            new_line = line.replace("alex","ALEX LI")
            print("current pos:",f.tell())                          #显示指针的位置
            f.seek(37)                                              #把指针指到该位置
            f.write(new_line)
            break
    f.close()
    '''
    

    购物车基本演示:

    product_list = [
        ('Iphone6sPlus', 6888),
        ('MacBook', 11300),
        ('CookBook', 50),
        ('Coffee', 30),
        ('KindleFire', 1200),
        ('NB', 800),
    ]
    user_asset = 10000
    
    break_flag = False
    shopping_cart = []
    paid_list = []
    while not break_flag:
        for index,i in enumerate(product_list):
            print(index,i[0],i[1])
        user_choice = raw_input("[quit,check,pay]What do you want to buy?:").strip()
        if user_choice.isdigit():
            user_choice = int(user_choice)
            if user_choice < len(product_list) and user_choice > -1:
                shopping_cart.append(product_list[user_choice])
                print("33[32;1mJust added [%s,%s] in to your shopping cart33[0m" %(product_list[user_choice]))
            else:
                print("33[31;1mProduct [%s] is not exist!33[0m")
        elif user_choice == "check":
            total_price = 0
            print("33[34;1mYou have bought below products...:33[0m")
            for index,p in enumerate(shopping_cart):
                print(index,p)
                total_price += p[1]
            print("Total Price:33[31;1m[%s]33[0m" % total_price)
        elif user_choice == "pay":
            total_price = 0
            print("33[34;1mYou have bought below products...:33[0m")
            for index,p in enumerate(shopping_cart):
                print(index,p)
                total_price += p[1]
            print("Total Price:33[31;1m[%s]33[0m" % total_price)
            pay_confirm = raw_input("33[31;1mGoing to pay?33[0m").strip()
            if pay_confirm == "y":
                money_left = user_asset - total_price
                if money_left > 0:
                    paid_list += shopping_cart
                    shopping_cart = []
                    user_asset = money_left
                    print("33[31;1mYou have just paid[%s], your current balance is [%s]33[0m" %(total_price,money_left))
                    go_confirm = raw_input("press any key to continue shopping!").strip()
    
                else:
                    print("33[31;1mYour current balance is [%s], still need [%s] to pay the whole deal!33[0m" %(user_asset,total_price-user_asset))
    
        elif user_choice == "quit":
            if shopping_cart:
                print("You still have some product haven't paid yet!")
            else:
                print("Thanks for comming!")
                break_flag = True
    

      

  • 相关阅读:
    个人作业Week2-代码复审
    个人项目-数独
    个人作业-Week1
    第零次个人作业
    mysql统计某个指标之和大于指定值的记录
    Redis命令行查询缓存值
    Grep命令
    Log4j配置文件中指定日志路径
    Cadence OrCAD17.2禁止和启用start page的设置方法
    Linux内核实现透视---kthread_work
  • 原文地址:https://www.cnblogs.com/alan-babyblog/p/5168181.html
Copyright © 2011-2022 走看看