博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
017--python基础作业
阅读量:5014 次
发布时间:2019-06-12

本文共 6969 字,大约阅读时间需要 23 分钟。

一、练习题:1、使用while循环输入 1 2 3 ... 8 9 10 2、求1-100的所有数的和3、输出 1-100 内的所有奇数4、输出 1-100 内的所有偶数5、求1-2+3-4 ... 99的所有数的和
# 练习题:# 1、使用while循环输入 1 2 3 ... 8 9 10count = 0while count < 10:    number = input('>>:').strip()    print(number)    count+=1# 2、求1-100的所有数的和print(sum(range(1,101)))# 3、输出 1-100 内的所有奇数for i in range(1,100):    if i%2!=0:        print(i)# 4、输出 1-100 内的所有偶数for i in range(1,100):    if i%2==0:        print(i)# 5、求1-2+3-4 ... 99的所有数的和s=0for n in range(1,100):    if n%2==0:        n=-n    s+=nprint (s)
练习题 Code
二、模拟登陆1. 用户输入帐号密码进行登陆2. 用户信息保存在文件内3. 用户密码输入错误三次后锁定用户"
# 模拟登陆#1. 用户输入帐号密码进行登陆#2. 用户信息保存在文件内#3. 用户密码输入错误三次后锁定用户"import syscount = 0flag_break =Falsewhile count<3:    user_name = input('用户名:').strip()    with open('lock_file',encoding='utf-8') as f_lock:        for line in f_lock:            if line.strip() == user_name:                sys.exit('%s 已经被锁定' % user_name)    password =input('密码:').strip()    with open('user_file',encoding='utf-8') as f_user:        for line in f_user:            username,passwd = line.strip().split()            if user_name == username and password == passwd:                print('登录成功')                flag_break = True                break        if flag_break == False:            if count == 2:                count += 1            else:                print('用户名或者密码错误,请重试,还有 %s次机会' % (2 - count))                count += 1        else:            breakelse:    print('多次登录错误,此账户已经被锁定')    with open('lock_file', 'a+') as f_lock:        f_lock.write('\n' +user_name)
模拟登陆 Code

 三、三级菜单:

1. 运行程序输出第一级菜单2. 选择一级菜单某项,输出二级菜单,同理输出三级菜单3. 返回上一级菜单和顶部菜单4. 菜单数据保存在文件中"
{    '北京':{        '海淀':{            '五道口':{                'soho':{},                '网易':{},                'google':{}            },            '中关村':{                '爱奇艺':{},                '汽车之家':{},                'youku':{},            },            '上地':{                '百度':{},            },        },        '昌平':{            '沙河':{                '老男孩':{},                '北航':{},            },            '天通苑':{},            '回龙观':{},        },        '朝阳':{},        '东城':{},    },    '上海':{        '闵行':{            "人民广场":{                '炸鸡店':{}            }        },        '闸北':{            '火车战':{                '携程':{}            }        },        '浦东':{},    },    '山东':{},}
菜单文件 Code
current_layer = {}last_layers = []with open('menu',encoding='utf-8') as menu_file:    f = menu_file.read()    file_str = str(f)             # 将文本信息转成字符串格式current_layer = eval(file_str)    # 字符串转成字典格式while True:    for key in current_layer:        print(key)    choice = input('>>:').strip()    if len(choice) == 0:continue    if choice in current_layer:  #进入下一层        last_layers.append(current_layer)      #将上一层加入列表,待后期返回调用        current_layer = current_layer[choice]  #将下一层更新为当前层    if choice == 'b':          #返回上一层        if last_layers:        #保证列表不为空            current_layer = last_layers[-1]   #取上一层更新为当前层            last_layers.pop()                 #删除列表的最后一个    if choice == 'q':break    #退出    if choice == 'top':       #返回顶层        current_layer = last_layers[0]
三级菜单 Code
四、购物车1. 商品信息- 数量、单价、名称2. 用户信息- 帐号、密码、余额3. 用户可充值4. 购物历史信息5. 允许用户多次购买,每次可购买多件6. 余额不足时进行提醒7. 用户退出时 ,输出档次购物信息8. 用户下次登陆时可查看购物历史9. 商品列表分级
# 购物车#1. 商品信息- 数量、单价、名称#2. 用户信息- 帐号、密码、余额#3. 用户可充值#4. 购物历史信息#5. 允许用户多次购买,每次可购买多件#6. 余额不足时进行提醒#7. 用户退出时 ,输出当次购物信息import sysflag_break =Falseold_user = Truewhile True:    user_name = input('用户名:').strip()    with open('old_user',encoding='utf-8') as f_old:        for line in f_old:            if line.strip() == user_name:                old_user = True   #判断是老用户标志位    password =input('密码:').strip()    with open('shopping_user',encoding='utf-8') as f_user:        for line in f_user:            username,passwd,balance = line.strip().split()            if user_name == username and password == passwd:                print('登录成功,您的余额:%s'%balance)                salary = int(balance)                flag_break = True        if not flag_break:            sys.exit('登录失败')    if old_user:     #执行对于老用户打印历史购物信息的工作        with open('shopping_history',encoding='utf-8') as f_history:            file_history = f_history.read()            print('您以前购买过以下商品'.center(50,'-'))            print('id       商品      数量    单价    总价')            print(file_history.strip())            print('end'.center(60,'-'))    shopping_cart = {} #购物车    product_list = [                    ['自行车',999],                    ['充电宝',555],                    ['茅台酒',650],                    ['铂金笔',500],                    ['电饭锅',200]    ]    while True:        index = 0        for product in product_list:            print(index,product)            index+=1        choice = input('请输入商品编号,或者q直接退出')        if choice=='q':            print('您已购买以下商品'.center(50,'-'))            id_count = 1            total_cost = 0            print('id       商品      数量    单价    总价')            for key in shopping_cart:                msg = ("%s\t\t%s\t\t%s\t\t%s\t\t%s"                      %(id_count,                        key,                        shopping_cart[key][1],                        shopping_cart[key][0],                        shopping_cart[key][1]*shopping_cart[key][0]                        )                      )                print(msg)                id_count+=1                total_cost+=shopping_cart[key][1]*shopping_cart[key][0]                with open('shopping_history', 'a+', encoding='utf-8') as f_history:                        f_history.write('\n' + msg)            print('您的总花费为:',total_cost)            print('您的余额为:'+str(salary))            print('end'.center(60,'-'))            with open('old_user', 'a+',encoding='utf-8') as f_old:                f_old.write('\n' + user_name)            sys.exit()        number = input('请输入购买数量:')        if choice.isdigit() and number.isdigit():            choice = int(choice)            number = int(number)            if choice >= 0 and len(product_list) >= choice:                product = product_list[choice]                if product[1]*number <= salary:                    if product[0] in shopping_cart:                        shopping_cart[product[0]][1] += number #[price ,数量] 只需要把数量+1 ,加入购物车                    else:                        shopping_cart[product[0]] = [product[1],number]                    salary-=product[1]*number                    print('您已购买 %s个%s ,您的余额为:%s'%(number,product[0],salary))                else:                    print("商品的价格为:%s,购买数量%s个,还差%s元"%(product[1],number,product[1]*number-salary))                    more_money = input('你想要充值吗?y/n:').strip()                    if more_money == 'n':                        sys.exit()                    if more_money == 'y':                        recharge = int(input('充值:').strip())                        salary+=recharge            else:                print('商品编号不存在,请重新输入')        else:            print('编号不存在,请重新输入')
购物车 Code

 

转载于:https://www.cnblogs.com/guotianbao/p/6782536.html

你可能感兴趣的文章
【iOS】UICollectionView自己定义Layout之蜂窝布局
查看>>
golang——(strings包)常用字符串操作函数
查看>>
发布aar到jcenter
查看>>
跨浏览器问题的五种解决方案
查看>>
XPath定位时,使用文本的方法小技巧。
查看>>
安装pandas报错(AttributeError: 'module' object has no attribute 'main')
查看>>
ch02 fundamental definition 01
查看>>
JSON解析
查看>>
Position is everything?(css定位学习的一些心得)(一)
查看>>
如何提高编程水平
查看>>
Jquery Uploadify3.21.与2.1版本 使用中存在的问题--记录三
查看>>
Linux查看进程的内存占用情况 分类: ubuntu ...
查看>>
[BZOJ 2818]Gcd
查看>>
FORM值传递与地址传递
查看>>
(译)yaml快速教程
查看>>
C:大数相加
查看>>
160. Intersection of Two Linked Lists
查看>>
人生苦短,我用python-- Day11
查看>>
JAVA Bean
查看>>
ehcache memcache redis 三大缓存男高音_转
查看>>