def show_books(lst): if len(lst) == 0: print('没有查询到图书信息,无数据显示!!!') return # 查到之后,定义标题的显示格式 format_title = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^6}' print(format_title.format('ID', '书名', '作者', 'Price', 'state')) # 定义内容的显示格式 format_data = '{:^6}\t{:^12}\t{:^8}\t{:^10}\t{:^6}' # 写入内容 for item in lst: print(format_data.format(item.get('id'), item.get('name'), item.get('auther'), item.get('price'), item.get('state') ))
时间: 2024-02-14 19:32:55 浏览: 143
这段代码是用来显示图书信息的,它的作用是接收一个包含图书信息的列表lst,然后检查列表的长度是否为0,如果是则打印“没有查询到图书信息,无数据显示!!!”并返回;如果不是,则定义标题和内容的显示格式,并将列表中的每个图书信息依次打印出来。其中,标题的格式包括ID、书名、作者、价格和状态,内容的格式也是这五个字段的值。
相关问题
def my_max(lst): if len(lst) == 0: return None max_value = lst[0] for num in lst: if num > max_value: max_value = num return max_value numbers = [5,6,7,9,4] print("最大值:", my_max(numbers))解释一下什么意思?
这段代码定义了一个名为 `my_max` 的函数,该函数用于找到列表中的最大值。
首先,函数会检查列表 `lst` 的长度是否为0,如果是空列表,则返回 `None`。
然后,函数将列表的第一个元素 `lst[0]` 设置为初始的最大值 `max_value`。
接下来,函数使用循环遍历列表中的每个元素 `num`,并与当前的最大值 `max_value` 进行比较。如果当前元素 `num` 大于 `max_value`,则将 `max_value` 更新为 `num`。
最后,函数返回最终的最大值 `max_value`。
在测试代码中,创建了一个名为 `numbers` 的列表,并将其作为参数传递给 `my_max` 函数。然后,使用 `print` 函数打印出 "最大值:" 加上调用 `my_max` 函数后返回的结果。
运行这段代码,你将在控制台中看到以下输出:
```
最大值: 9
```
这表示列表 `[5, 6, 7, 9, 4]` 中的最大值是 9。
请补充下面的程序使其自动生成 n 个互不相同的 100 以内的随机正整数。要求 n 是一个小 于等于 10 的正整数。 import random def generateList(n): if not (isinstance(n, int) and 0 < n and n <= 10): print('Parameter n is invalid.') return 1 while True: if len(lst) == n: 2 r = random.randint(1,100) if r not in lst: lst.append(r) return lst if __name__=='__main__': n = 5 lst = generateList(n) if lst: print('Generate:', lst) else: print('Generate: Nothing')
下面是补充后的程序:
```python
import random
def generateList(n):
if not (isinstance(n, int) and 0 < n and n <= 10):
print('Parameter n is invalid.')
return []
lst = []
while True:
if len(lst) == n:
return lst
r = random.randint(1,100)
if r not in lst:
lst.append(r)
if __name__=='__main__':
n = 5
lst = generateList(n)
if lst:
print('Generate:', lst)
else:
print('Generate: Nothing')
```
程序中主要修改部分如下:
1. 在函数生成的随机数列表前,应该初始化一个空列表 `lst`,以便在后续的随机数生成中存储已经生成的随机数。
2. 在判断已经生成的随机数个数是否达到 n 时,应该在判断语句中添加 `break` 语句,以便跳出无限循环。
3. 在返回最终结果时,应该返回 `lst` 列表,而不是 `1`。
对于函数的执行,我们可以通过给定不同的 n 值来测试程序。例如,当 n=5 时,运行结果如下:
```
Generate: [48, 16, 90, 35, 55]
```
阅读全文