软件测试【四】Python复杂操作_计算机如何进行复杂运算python

25 阅读6分钟

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

了解详情》docs.qq.com/doc/DSlVlZExWQ0FRSE9H


其中 results 是一个元组的列表,每个元组代表查询结果中的一行数据。


总之,元组是 Python 中非常重要的数据类型之一,在多个场景下都有广泛的应用。


### 二、range函数在python中的意义


range函数在Python中是一个用于生成一系列数字的函数,通常用于for循环中。range函数可以接受1~3个参数,分别表示起始值、终止值和步长。


例如,range(1, 10, 2) 将会生成从 1 开始,到小于 10 的整数,步长为 2 的一个列表,即 [1, 3, 5, 7, 9]。


如果只传递一个参数,那么它默认作为终止值,起始值默认为0,步长默认为1。例如,range(5) 将会生成从 04 的整数,即 [0, 1, 2, 3, 4]。


需要注意的是,range 函数返回的对象是一个可迭代对象,而不是一个列表。因此,如果想要得到一个列表,可以使用 list() 函数将其转化为列表。


同时,还可以结合其他 Python 函数来实现更加复杂的操作,比如通过 range 函数生成的列表进行切片、排序等操作。总之,range 函数是 Python 中一个非常重要、灵活和强大的函数,可以帮助开发者简化程序编写过程,并提高程序的效率。


### 三、for循环的定义实操


Python中的for循环可以遍历多种类型的数据结构,包括列表、元组、字典和集合等。下面是一些常见的for循环定义实操:


1. 遍历列表


假设有一个列表存储了学生的成绩,我们可以使用for循环来遍历这个列表并计算总分和均分:



scores = [78, 85, 92, 67, 88] total = 0 for score in scores: total += score average = total / len(scores) print("Total score:", total) print("Average score:", average)


输出:



Total score: 410 Average score: 82.0


1. 遍历元组


如果我们有一个元组表示班级的学生人数和男女比例,我们可以使用for循环来遍历这个元组并输出每个元素的值:



class_info = (30, 0.6, 0.4) for info in class_info: print(info)


输出:



30 0.6 0.4


1. 遍历字典


如果我们有一个字典表示班级学生的名字和年龄,我们可以使用for循环来遍历这个字典并输出每个键值对:



students = {"Tom": 18, "Jerry": 19, "Alice": 17} for name, age in students.items(): print(name, "is", age, "years old.")


输出:



Tom is 18 years old. Jerry is 19 years old. Alice is 17 years old.


1. 遍历集合


如果我们有一个集合表示班级内所有学生的名字,我们可以使用for循环来遍历这个集合并输出每个名字:



student_names = {"Tom", "Jerry", "Alice"} for name in student_names: print(name)


输出:



Tom Jerry Alice


总结:


以上就是Python中for循环的一些常见实操方法,通过不同的数据结构类型和相关操作,我们可以更好地理解和掌握Python中的for循环。


### **四、字符串、列表的切片操作**


Python中的切片操作是一种非常方便和高效的方式来截取字符串和列表的子集。切片操作使用[start:end:step]这种格式,其中start表示起始位置(默认为0),end表示终止位置(默认为序列长度),step表示步长(默认为1)。


下面是一些详细的字符串和列表切片操作实例:


1. 字符串切片


假设有一个字符串"Hello World!",我们可以使用切片操作来截取其中的子串:



string = "Hello World!" print(string[0]) # H print(string[-1]) # ! print(string[6:11]) # World print(string[:5]) # Hello print(string[6:]) # World! print(string[::2]) # HloWrd


1. 列表切片


假设有一个列表[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以使用切片操作来截取其中的子列表:



lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] print(lst[0]) # 1 print(lst[-1]) # 10 print(lst[2:6]) # [3, 4, 5, 6] print(lst[:5]) # [1, 2, 3, 4, 5] print(lst[6:]) # [7, 8, 9, 10] print(lst[::2]) # [1, 3, 5, 7, 9]


需要注意的是,切片操作生成的是一个新的子串或子列表对象,原来的字符串或列表并没有被修改。


另外,可以通过切片操作实现反转字符串或列表的功能:



string = "Hello World!" reversed_string = string[::-1] print(reversed_string) # !dlroW olleH

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] reversed_lst = lst[::-1] print(reversed_lst) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]


总结:


以上就是Python中字符串和列表切片操作的一些详细实例。掌握切片操作可以让我们更加高效地对字符串和列表进行操作和处理。


### 五、实操项目 :


### 烤鸭店利润计算器3.1 -如何优雅的简化之前的代码逻辑


在之前的烤鸭店利润计算器项目中,我们使用了大量的if-else语句来进行不同情况下的计算。如果数据量比较大或者需要添加更多的分类条件时,代码会变得非常复杂和冗长。因此,我们可以通过一些技巧来简化代码逻辑,让代码更加优雅和易于维护。


下面是一些比较好的优化方案:


1. 使用字典代替if-else语句


我们可以使用一个字典来代替之前的if-else语句,将不同情况下的价格映射到相应的键值对上。这样做可以减少冗余代码并且使得代码更加易于扩展。



price_dict = { "北京烤鸭": 99, "鸭腿子": 29, "鸭翅": 15, "鸭肉卷": 20, "鸭血粉丝汤": 12 }


1. 使用函数封装重复逻辑


我们可以将重复的计算逻辑封装成一个函数,避免在代码中出现重复的代码块。



def calculate_profit(price, cost, quantity): income = price * quantity profit = income - cost * quantity return income, profit


1. 使用列表解析式代替循环


我们可以使用列表解析式来代替循环,使得代码更加简洁和易于理解。



income_list = [calculate_profit(price_dict[item], cost_dict[item], quantity_dict[item])[0] for item in order_dict] profit_list = [calculate_profit(price_dict[item], cost_dict[item], quantity_dict[item])[1] for item in order_dict]


综合以上优化方案,下面是一个简化后的烤鸭店利润计算器3.1:



def calculate_profit(price, cost, quantity): income = price * quantity profit = income - cost * quantity return income, profit

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

了解详情》docs.qq.com/doc/DSlVlZExWQ0FRSE9H