【问题标题】:Removing data structure删除数据结构
【发布时间】:2018-08-08 06:30:48
【问题描述】:

这里的目标是获取由第一个 int 指示的一定数量的 int 值并创建一个列表,按照偶数到奇数的顺序(数字的值顺序无关紧要)。

到目前为止,我的代码处理了大部分问题。但是,我将如何忽略第一个 int 值?

示例输入:

example=[7,1, 0, 1, 0, 0, 1, 1]                            
example=[3,3, 3, 2]                                                    
example=[3,2, 2, 2] 

我的代码:

even=[]
odd=[]

while True:
    try:
        n = int(input())
    except:
        break

    if  n % 2 ==0:
        even.append(n)

    else:
        odd.append(n)

print(even+odd)

【问题讨论】:

  • 您能否澄清一下您期望该脚本做什么以及它在哪里还不能工作的地方?
  • @NicoHaase 抱歉,您没有看到问题的明确性。本质上,每个 int 的第一个数字是一个值,表示后面有多少个 int 值。我设法制作了一个非常简单的奇/偶排序程序,但它无法处理在排序时删除初始 int 值。 Muhammad Umair 非常准确地回答了这个问题。

标签: python data-structures list-manipulation


【解决方案1】:

在进入while循环之前,弹出第一个值。您也可以将其保存为总数。

另外,您的代码中存在错误。如果尝试在while循环中失败,则第一次循环运行时会出现异常。并且将使用上一个值的下一个,因此将重复单个值。我通过添加n=0 更正它。

even=[]
odd=[]

n=0

NumCount= int(input())

while True:
    try:
        n = int(input())
    except:
        break

    if  n % 2 ==0:
        even.append(n)

    else:
        odd.append(n)

print ("Total numbers (even+odd)", NumCount)

print(even+odd)

【讨论】:

  • @Ryan 再次看到答案,我已经编辑并在答案中添加了错误更正。
猜你喜欢
  • 2018-03-01
  • 2012-03-05
  • 1970-01-01
  • 2021-06-30
  • 1970-01-01
  • 2015-11-18
  • 1970-01-01
  • 2010-09-29
相关资源
最近更新 更多