我刚接触过在Python中使用列表,我正在try 编写一段代码,其中一个人使用列表输入10个数字,然后执行以下操作:

  • 将偶数复制到名为"EvenList"的新列表中,并 输出那个新列表.
  • 输出存储在新列表中的数字的平均值.

以下是我的代码:

List=[]
EvenList=[]
totalnum=0
count=0
for i in range(10):
    List.append(int(input("Enter a number: ")))
    
    while List[i]%2==0:
        EvenList.append(List[i])
        totalnum=totalnum+List[i]
        count=count+1


print(EvenList)
average=totalnum/count
print("Average: ", average)

每当我运行这个模块时,在输入值之后,我的输出(EvenList和Average)都不会打印出来.以下是我得到的输出:

例1:

Enter a number: 1
Enter a number: 2

示例2:

Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 1
Enter a number: 2

通过进一步的分析,我意识到每当输入偶数时,代码就会给出空输出.所以我猜测我的错误在第8-11行(可能还有更多).

到目前为止,我更改了我的首字母代码: List[i]=int(input("Enter a number: "))EvenList[index]=(List[i])List.append(int(input("Enter a number: ")))EvenList.append(List[i])-我仍然不明白为什么首字母代码不被认为是正确的,因为我认为他们做的是完全相同的事情[如果有人能解释的话,我会非常感激]-但这并没有修复这个错误.

推荐答案

这是因为在While循环条件下,如果数字是偶数,则会陷入无限循环,而不是While Add If:

List=[]
EvenList=[]
totalnum=0
count=0
for i in range(10):
    List.append(int(input("Enter a number: ")))
    
    if List[i]%2==0:
        EvenList.append(List[i])
        totalnum=totalnum+List[i]
        count=count+1


print(EvenList)
average=totalnum/count
print("Average: ", average)

Python相关问答推荐

Google Drive API获取文件计量数据

Select 用a和i标签包裹的复选框?

Odoo 14 hr. emergency.public内的二进制字段

运行总计基于多列pandas的分组和总和

scikit-learn导入无法导入名称METRIC_MAPPING64'

优化pytorch函数以消除for循环

删除字符串中第一次出现单词后的所有内容

在Python中动态计算范围

mypy无法推断类型参数.List和Iterable的区别

我的字符串搜索算法的平均时间复杂度和最坏时间复杂度是多少?

Pandas Data Wrangling/Dataframe Assignment

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

Geopandas未返回正确的缓冲区(单位:米)

为什么我的sundaram筛这么低效

Flask运行时无法在Python中打印到控制台

语法错误:文档. evaluate:表达式不是合法表达式

Python将一个列值分割成多个列,并保持其余列相同

504未连接IB API TWS错误—即使API连接显示已接受''

如何获取包含`try`外部堆栈的`__traceback__`属性的异常

查找数据帧的给定列中是否存在特定值