gpt4 book ai didi

python - 使用切片和返回函数创建列表

转载 作者:太空宇宙 更新时间:2023-11-03 15:38:35 26 4
gpt4 key购买 nike

有人可以解释一下为什么我收到错误编程问题:

编写如下创意程序来展示您对 Python 列表的理解:

首先创建一个空列表。使用循环将 50 到 80(含)之间的 12 个随机整数添加到列表中。按从最高到最低的降序对列表进行排序。使用循环将排序后的列表元素打印在一行上,并用单个空格分隔。确定 66 是否在列表中并生成一些适当的输出。请参阅样本输出。打印列表中最大的元素和列表中最小的元素。切出索引为 4 到 8 的五个元素并分配给一个变量。打印切片。打印该切片中所有五个元素的总和。使用 while 循环将切片中的所有元素显示在一行上,并用制表符分隔。样本输出

71 70 67 66 62 55 53 52 52 52 51 50 
Yes, 66 is in the list at index 3
71 is the largest element
The smallest element is 50
Here is the slice [62, 55, 53, 52, 52]
The total of the slice is 274
62 55 53 52 52

我的代码:

import random
def main ():
empty_list = []
for x in range (12):
empty_list.append(random.randint(50,80))
empty_list.sort(reverse=True)
for x in empty_list:
print(empty_list,end='')
break
print ()
print(max(empty_list),'is the largest element')
print('The smallest element in the list is',min(empty_list))
print('Here is the slice',empty_list[4:-3])
print('The total of the slice is',sum(empty_list[4:-3]))
print(empty_list[4:-3])
index_finder(num)
print(index_finder(num))
def index_finder(x):
if empty_list in range(12) == 66:
print('Yes, 66 is in the list')
else:
print('No, 66 is not in the list')
return index_finder(x)
main()

****确定 66 是否在列表中并生成一些适当的输出。我试图确定 66 是否在列表中并生成必要的输出,但我不断收到错误。代码的其余部分是正确的,但是对于问题的这一部分,它无法成功确定它是否是数字。换句话说,确定列表中的随机数之一是否为 66。我可以让它运行而不会出现错误,但它不会生成准确的输出。有人可以解释为什么会发生这种情况吗?

最佳答案

在编写代码时让自己保持条理的一种方法是避免计算和打印的混合。这是一个草图如果我们遵循这个原则,你的程序可能看起来像:

import random

def main ():

# Create values.
vals = []
for x in range(12):
vals.append(random.randint(50,80))
vals.sort(reverse=True)

# Compute some stuff.
max_val = max(vals)
min_val = min(vals)
has_66 = 66 in vals
vals_slice = vals[4:9] # Elements 4 through 8, inclusive.
sum_slice = sum(vals_slice)

# Print stuff.
...

main()

您还可以使用列表理解更简单地创建值(可能是 Python 类(class)中 future 的主题):

vals = [random.randint(50, 80) for x in range(12)]

关于python - 使用切片和返回函数创建列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42332914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com