python - 一种没有重复元素打印而没有break命令的替代方法?

时间:2015-03-03 11:42:35

标签: python

首先,在我的代码中,我被要求从用户输入一个值,程序应该将它放在正确的有序位置,而不使用内置的python sort()。

我完成的代码可以在不重复插入相同元素的情况下执行此操作,仅使用break命令。现在我删除了break命令后,我在列表中输入3次输出而不是1次。

注意:我们不允许在本Python课程中使用break语句

目前我的代码如下:

#List of numbers
myList = [1,9,16,24]

#Enter a number to be placed in the list
num = int(input("Enter a number: "))

#For loop to check the placement of entered number
#to compare it and see if it is less than or
#equal to the each and every element in myList
for x in range(0, len(myList)-1):

    if num < myList[x]: 
        myList.insert(x,num)
        #break
    elif num > myList[x]:

        myList.append(num)
        #break
print(myList)       

离。输出:

[-1,-1,-1,1,9,16,24]

1 个答案:

答案 0 :(得分:0)

简单。有一个外部条件,您可以在每次插入尝试时进行测试。如果插入项目,请将条件设置为false。然后,在循环之外,如果条件仍然为真,则表示该项目结束。没有休息。

myList = [1,9,16,24]

num = int(input("Enter a number: "))

condition = True

for index, x in enumerate(myList):
    if condition and num < x:
        myList.insert(index, num)
        condition = False

if condition:
    myList.append(num)

print(myList)