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("\033[32;1mJust added [%s,%s] in to your shopping cart\033[0m" %(product_list[user_choice]))
        else:
            print("\033[31;1mProduct [%s] is not exist!\033[0m")
    elif user_choice == "check":
        total_price = 0
        print("\033[34;1mYou have bought below products...:\033[0m")
        for index,p in enumerate(shopping_cart):
            print(index,p)
            total_price += p[1]
        print("Total Price:\033[31;1m[%s]\033[0m" % total_price)
    elif user_choice == "pay":
        total_price = 0
        print("\033[34;1mYou have bought below products...:\033[0m")
        for index,p in enumerate(shopping_cart):
            print(index,p)
            total_price += p[1]
        print("Total Price:\033[31;1m[%s]\033[0m" % total_price)
        pay_confirm = raw_input("\033[31;1mGoing to pay?\033[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("\033[31;1mYou have just paid[%s], your current balance is [%s]\033[0m" %(total_price,money_left))
                go_confirm = raw_input("press any key to continue shopping!").strip()

            else:
                print("\033[31;1mYour current balance is [%s], still need [%s] to pay the whole deal!\033[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

  

时间: 2024-11-05 22:43:28

python基础:三层循环的相关文章

Python基础06 循环

Python基础06 循环 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系.循环也会用到类似的写法. for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,

python基础之循环结构以及列表

python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成开发环境(IDE,Integrated Development Environment ) 常用的编程语言IDE开发工具有如下一些: VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 Eclipse # Java IDE,支持python, c ,

python基础之循环语句

一.if条件语句: 语法: 1.if单分支(单重条件判断) if expression: expr_true_suite 注释:expession为真执行代码expr_true_suite if单分支(单重条件判断) if not  active or over_time >= 10: print('Warning:service is dead') warn_tag+=1 2.if+else循环语句 if 1<2: print('ok') else: print('no') 3.多分支if+

python基础:循环语句和判断语句

小生博客:http://xsboke.blog.51cto.com 小生 Q Q:1770058260 -------谢谢您的参考,如有疑问,欢迎交流 一. python语句块和缩进 缩进是Python语法的一部分:在python语句中,空格是用来区分块的,每一块的语句,缩进量(空格)应该是相同的 Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字: 增加缩进表示语句块的开始,而减少缩进则表示语句块的退出. 在Python中,冒号(:)用来标识语

Python 基础之循环

循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直接写表达式就不可能了. 为了让计算机能计算成千上万次的重复运算,我们就需要循环语句. Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for name in names: prin

重学Python - Day 03 - python基础 -&gt; while循环实例 + Continue &amp;&amp; break的应用 + 列表的初步学习

while语句的应用 实例如下: 1 """ 2 述求:用户登录系统,最多只能登录三次 3 第三次失败后,程序终止 4 5 """ 6 user_table = {"python":"important","java":"more_important","shell":"linux"} 7 time = 1 8 9 while

Python基础-----while循环语句

while循环语句会执行条件成立下的代码块,同样需要注意缩进与冒号. 1 #!/usr/bin/evc python 3 2 # -*- coding:utf-8 -*- 3 4 ''' 5 while 条件为真: 6 代码块 7 ''' 8 #条件为真则代码块中的内容会永远执行下去 原文地址:https://www.cnblogs.com/Meanwey/p/9496592.html

Python基础-----while循环练习

一.使用while循环输出1 2 3 4 5 6   8 9 10 1 #!/usr/bin/evc python 3 2 # -*- coding:utf-8 -*- 3 4 ''' 5 使用while循环输出1 2 3 4 5 6 8 9 10 6 ''' 7 8 count = 1 9 while count<=10: 10 if count == 7: 11 pass 12 else: 13 print(count) 14 count += 1 二.使用while循环输出1~100的和

python基础之循环与迭代器

循环 python 循环语句有for循环和while循环. while循环while循环语法 while 判断条件: 语句 #while循环示例 i = 0 while i < 10: i += 1; print(i) while else 语句 语法 while 判断条件: 语句 else: 语句 #while else 示例 n = 0 while n < 10: n += 1; print(n); else: print("n不小于10") for循环 for循环可以