March程序员19课.Day2
知识点1:注释学习目标
- 注释的作用
- 注释的分类及语法
- 注释的特点
- 注释的作用:
* 没有注释的代码
- 每一行是没有注释程序标,让人不可读性,没知你写的每一行程序有什么样的一个作用。
点击查看代码
shopping_list = []
product_list = [
('iphone', 5800), ('Mac Pro', 9800),
('Bike', 800), ('Watch', 10600),
('Coffee', 31), ('Alex Python', 120)
]
salary = input('Input You Salary: ')
if salary.isdigit():
salary = int(salary)
while True:
for index, item in enumerate(product_list):
# print(product_list.index(item), item)
print(index, item)
user_choice = input('选择要买的商品: ')
if user_choice.isdigit():
user_choice = int(user_choice)
if len(product_list) > user_choice >= 0:
p_item = product_list[user_choice]
if p_item[1] <= salary:
shopping_list.append(p_item)
salary -= p_item[1]
print('Added %s into shopping cart, You current balance is \033[31;1m%s\033[0m' % (p_item, salary))
else:
print('\033[43;1m 你的余额只剩下[%s]啦,还买个毛线呀!!!\033[0m' % salary)
else:
print("product code [%s] is not exit" % user_choice)
elif user_choice == "q":
print('..........shopping_list,,,......')
for p in shopping_list:
print(p)
print("Your current balance:", salary)
exit()
else:
print('invalid option')
* 有注释的代码
- 每一行都有注明程序标志,用人类最能熟悉的语言进行每行程序的作用注释,方便运用与维护。
点击查看代码
# 定义一个空的购物车清单
shopping_list = []
# 定义商品列表
product_list = [
('iphone', 5800),
('Mac Pro', 9800),
('Bike', 800),
('Watch', 10600),
('Coffee', 31),
('Alex Python', 120)
]
# 输入工资
# 如果输入的是数字,则转换为整数类型
salary = input('Input You Salary: ')
if salary.isdigit():
salary = int(salary)
# 进入循环
while True:
# 遍历商品列表,输出商品信息
for index, item in enumerate(product_list):
print(index, item)
# 用户选择购买的商品
user_choice = input('选择要买的商品: ')
# 如果用户输入的是数字
if user_choice.isdigit():
user_choice = int(user_choice)
# 如果用户选择的商品编号合法
if len(product_list) > user_choice >= 0:
# 获取选中的商品信息
p_item = product_list[user_choice]
# 如果工资足够购买选中商品
if p_item[1] <= salary:
# 添加选中的商品到购物车
shopping_list.append(p_item)
salary -= p_item[1] # 扣除购买商品的价格
# 输出购买成功信息及剩余工资
print('Added %s into shopping cart, You current balance is \033[31;1m%s\033[0m' % (p_item, salary))
else:
# 输出余额不足的提示信息
print('\033[43;1m 你的余额只剩下[%s]啦,还买个毛线呀!!!\033[0m' % salary)
else:
# 输出商品编号不存在的提示信息
print("product code [%s] is not exit" % user_choice)
elif user_choice == "q":
# 用户选择退出购物,并输出购物清单及剩余工资信息
print('..........shopping_list,,,......')
for p in shopping_list:
print(p)
print("Your current balance:", salary)
exit() # 退出程序
else:
# 用户输入非法选项,输出提示信息
print('invalid option')
* 优化后注释的代码
- 将商品列表和购物车清单都定义成了字典类型,方便后续的操作;
- 将用户输入整数值的代码提取成了函数 get_int_input(),避免了重复的代码;
- 将购买商品的逻辑提取成了函数 buy_product(),减少了程序的复杂度;
- 将显示商品列表和购物车清单的代码都提取成了函数,增加了代码的可读性;
- 将主程序的代码逻辑拆分成了多个函数,使得程序更易于维护和扩展
点击查看代码
# 定义商品列表和购物车清单
product_list = [
{'name': 'iPhone', 'price': 5800},
{'name': 'Mac Pro', 'price': 9800},
{'name': 'Bike', 'price': 800},
{'name': 'Watch', 'price': 10600},
{'name': 'Coffee', 'price': 31},
{'name': 'Alex Python', 'price': 120}
]
shopping_list = []
# 获取用户输入的整数值
def get_int_input(prompt):
while True:
try:
value = int(input(prompt))
return value
except ValueError:
print("Invalid input, please enter an integer.")
# 显示商品列表
def show_product_list():
print("-----------PRODUCT LIST-----------")
for i, product in enumerate(product_list):
print(f"[{i}] {product['name']} - ${product['price']}")
# 购买商品
def buy_product():
show_product_list()
product_number = get_int_input("Enter the product number you want to buy (or enter -1 to exit): ")
if product_number == -1:
print("Exiting shopping cart...")
return
if product_number < 0 or product_number >= len(product_list):
print("Invalid product number, please try again.")
return buy_product()
product = product_list[product_number]
if product['price'] > salary:
print(f"You can't afford {product['name']}.")
return
shopping_list.append(product)
print(f"Added {product['name']} to shopping cart.")
return product['price']
# 显示购物车
def show_shopping_cart():
print("-----------SHOPPING CART-----------")
for product in shopping_list:
print(f"{product['name']} - ${product['price']}")
print(f"Total cost: ${sum([product['price'] for product in shopping_list])}")
# 程序入口
salary = get_int_input("Enter your salary: $")
while True:
print("1. Buy a product")
print("2. Show shopping cart")
print("3. Exit")
choice = get_int_input("Enter your choice: ")
if choice == 1:
price = buy_product()
if price:
salary -= price
elif choice == 2:
show_shopping_cart()
elif choice == 3:
print("Exiting program...")
break
else:
print("Invalid choice, please try again.")
在程序中对某些代码功能进行标注说明,这就是我们常说的注释的作用啦!能够在日后大大的增强程序的可读性
- 注释的分类及语法
注释分为两类:'单行注释'和'多行注释'
- 单行注释
只能注释一行行内容,语法如下:
#单行:输出hello world
print('hello world')
print('hello Python') # 简单注释内容
- 多行注释
可以注释多⾏行行内容,⼀一般⽤用在注释⼀一段代码的情况, 语法如下:
"""
第一行注释
第二行注释
第三行注释
"""
'''
注释1
注释2
注释3
'''
快捷键: ctrl + /
- 2.1 快速体验,自己动手练一练
"""
下面三行都是输出作用,输出内容分别为:
Hello World
Hello MatchStudy
Hello tianWenWu
"""
print('Hello World')
print('Hello MarchStudy')
print('Hello tianWenWu')
'''
下面三行也都是输出作用,输出内容分别为:同上
Hello World
Hello MatchStudy
Hello tianWenWu
'''
print('Hello World')
print('Hello MarchStudy')
print('Hello tianWenWu')
解释器不会执行任何的注释内容,只会被Python解释器省略,而注释内容是给人看
知识点2:变量学习目标
- 变量的作用
- 定义变量及语法
- 认识数据类型
- 变量的作用
举例例体验:
变量:就是一个存储数据的时候当前数据所在的内存地址的名字而已:
我们去图书馆读书,怎么样快速找到⾃自⼰己想要的书籍呢?是不不是管理理员提前将书放到固定位
置,并把这个位置进⾏行行了了编号,我们只需要在图书馆中按照这个编号查找指定的位置就能找到想要的书籍。
这个编号其实就是把书籍存放的书架位置起了了一个名字,方便便后期查找和使用。
程序中,数据都是临时存储在内存中,为了了更更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后定义一个名称,这个名称就是变量
- 定义量变及语法
1 I 变更名 = 值
"""
1. 定义变量
语法:变量名 = 值
2. 使用变量
3. 看变量的特点
"""
# 定义变量:存储数据MarchStudy
my_name = 'MarchStudy'
print(my_name)
# 定义变量:存储数据 MarchStudyClass
schoolName = '我是MarchStudyClass,我爱Python'
print(schoolName)
- 变量名自定义(也就是自己为数据存储内存后定义的一个名称),但要满足标识符的命名规则:
- 2.1 标识符
标识符命名规则:是Python中定义各种名字的时候统一规范要求,具体如下:- 由数字、字母、下划线组成
- 不能用数字开头命名
- 不能使用Python内置关键字
- 严格要求区分字母大小写
False None True and as assert break class contunue def del elif else
except finolly for from global if import in is lanbda nonlocal not
or pass raise return try while with yield
- 2.2 命名习惯
- 见名知义
- 大驼峰:既每个单词首字母都大写 例如、MyName. VeryGood
- 小驼峰:从第二个(含)以上的单词首字母大写 例如、myName. veryGood
- 下划线:每个单词都要以小字形式输写并以下划线"_"进行连接 例如、my_name. very_good
- 2.3 使用变量
my_name = 'MarchStudy'
print(my_name)`
schoolName = 'marchstudyclass'
print(schoolName)
MyName = 'TianWenWu'
print(MyName)
- 2.4认识bug
所谓bug,就是程序中的错误。如果程序有错误,需要程序员排查问题,纠正错误。


浙公网安备 33010602011771号