> 文档中心 > 【趁热打铁】python基础综合练习(一)

【趁热打铁】python基础综合练习(一)


系列文章目录

python基础(一)之python简介与数据基本运算
python基础(二)之语句(选择与循环)
python基础(三)之容器类型(字符串,列表,元组,字典,集合,固定集合,双for循环,通用操作)
python基础(四)之函数与作用域


文章目录

  • 系列文章目录
  • 前言
  • 一、综合练习1
  • 二、综合练习2
  • 三、综合练习3(精华)
    • 购物系统

前言

前面四章介绍了python基础知识,并且每个知识都有对应的练习,同时也能够通过内存图很好的帮助我们掌握知识点,接下来是运用python基础知识做综合练习,在之后章节中完成一个游戏系统。


补充前四章知识点:

形式参数是自右向左运行
形式参数的位置有讲究,看python基础(四)

一、综合练习1

字符串:" 校 训∶自强不息、厚德载物。 "
查找空格的数量
删除字符串前后空格
删除字符串所有空格
查找"载物"的位置
判断字符串是否以"校训"开头

str01 = " 校 训∶自强不息、厚德载物。 "print(str01.count(" "))print(str01.rstrip().lstrip())print(str01.replace(" ",""))print(str01.index("载物")+1)print(str01.startswith("校训"))运行结果:10校 训∶自强不息、厚德载物。校训∶自强不息、厚德载物。13False
#位置实参无限十关键字实参无限def fun01(*args,**kwargs ):    print(args)    print(kwargs)fun01(1,2,3)print("--------------")fun01(1,2,3,a=4, c=5)print("--------------")fun01(a=4, c=5)print("--------------")运行结果:(1, 2, 3){}--------------(1, 2, 3){'a': 4, 'c': 5}--------------(){'a': 4, 'c': 5}--------------

方法总结:

不用刻意去记函数用法,如果需要用到去菜鸟教程去搜用法,同时也不用将此函数用法全部看尽,需要用什么看什么。

二、综合练习2

定义函数,计算指定范围内的素数。

def is_prime(number):    """ 判断指定的数字是否为素数    :param number:指定的整数    :return:True表示是素数,False表示不是素数    """    for item in range(2, number): if number % item == 0:     return  False    else: return Truedef get_prime(begin,end):    """ 获取范围内的素数    :param begin:开始值(包含)    :param end:结束值(不包含)    :return:所有素数的列表    """    # list = []    # # 生成范围内的整数    # for number in range(begin,end):    #     if is_prime(number):    #  list.append(number)    # return list    return [number for number in range(begin,end) if is_prime(number)]print(get_prime(2,10))运行结果:[2, 3, 5, 7]

方法总结:

当自己写完一个函数之后,想要使函数实现分而治之的效果,可以借助Ctrl+Alt+M生成内嵌函数。

三、综合练习3(精华)

购物系统

shopping.py

#商品信息dict_commodity_info = {    101:{"name":"屠龙刀","price" :10000} ,    102:{"name":"倚天剑","price" :10000} ,    103:{"name" :"九阴白骨爪","price":8000},    104:{"name" : "九阳神功","price":9000},    105:{ "name":"降龙十八掌","price" :8000},    106:{"name" :"乾坤大挪移","price" :10000}}#订单列表list_order = []def select_menu():    """ 选择菜单    """    while True: item = input("1键购买,2键结算。") if item == "1":     buying() elif item =="2":     settlement()def settlement():    """ 结算    """    print_orders()    total_price = calculate_total_price()    paying(total_price)def paying(total_price):    """ 支付过程    :param total_price:需要支付的价格    """    while True: money = float(input("总价 % d元,请输入金额:" % total_price)) if money >= total_price:     print(" 购买成功﹐找回∶ % d元。" % (money - total_price))     list_order.clear()     break else:     print("金额不足.")def calculate_total_price():    """ 计算总价格    """    total_price = 0    for order in list_order: commodity = dict_commodity_info[order["cid"]] total_price += commodity["price"] * order["count"]    return total_pricedef print_orders():    """ 打印订单    """    for order in list_order: commodity = dict_commodity_info[order["cid"]] print("商品∶%s,单价∶%d ,数量:%d." % (commodity["name"], commodity["price"],order["count"]))def buying():    """ 购买    """    print_commodity_info()    create_order()    print("添加到购物车。")def create_order():    """ 创建订单    """    cid = input_commodity_id()    count = int(input("请输入购买数量∶"))    order = {"cid": cid, "count": count}    list_order.append(order)def input_commodity_id():    """ 获取商品订单    """    while True: cid = int(input("请输入商品编号∶")) if cid in dict_commodity_info:     break else:     print("该商品不存在")    return ciddef print_commodity_info():    """ 打印商品信息    """    for key, value in dict_commodity_info.items(): print("编号∶%d,名称∶%s,单价︰%d。" % (key, value["name"], value["price"]))select_menu()运行结果:1键购买,2键结算。1编号∶101,名称∶屠龙刀,单价︰10000。编号∶102,名称∶倚天剑,单价︰10000。编号∶103,名称∶九阴白骨爪,单价︰8000。编号∶104,名称∶九阳神功,单价︰9000。编号∶105,名称∶降龙十八掌,单价︰8000。编号∶106,名称∶乾坤大挪移,单价︰10000。请输入商品编号∶101请输入购买数量∶1添加到购物车。1键购买,2键结算。1编号∶101,名称∶屠龙刀,单价︰10000。编号∶102,名称∶倚天剑,单价︰10000。编号∶103,名称∶九阴白骨爪,单价︰8000。编号∶104,名称∶九阳神功,单价︰9000。编号∶105,名称∶降龙十八掌,单价︰8000。编号∶106,名称∶乾坤大挪移,单价︰10000。请输入商品编号∶102请输入购买数量∶1添加到购物车。1键购买,2键结算。1编号∶101,名称∶屠龙刀,单价︰10000。编号∶102,名称∶倚天剑,单价︰10000。编号∶103,名称∶九阴白骨爪,单价︰8000。编号∶104,名称∶九阳神功,单价︰9000。编号∶105,名称∶降龙十八掌,单价︰8000。编号∶106,名称∶乾坤大挪移,单价︰10000。请输入商品编号∶101请输入购买数量∶2添加到购物车。1键购买,2键结算。2商品∶屠龙刀,单价∶10000 ,数量:1.商品∶倚天剑,单价∶10000 ,数量:1.商品∶屠龙刀,单价∶10000 ,数量:2.总价  40000元,请输入金额:50000 购买成功﹐找回∶  10000元。

方法总结:

函数体内部代码不超过十行
弱语法,重本质,重思想,重设计
变量命名,见名知意