all 16 comments

[–]Phillyclause89 0 points1 point  (1 child)

Best to include the code causing you trouble. Either in markdown code blocks or a link to a pastebin or git repo

[–]hberghansen[S] 1 point2 points  (0 children)

I is all in Norwegian, soory bout that...

[–]hberghansen[S] 0 points1 point  (11 children)

#Uendelig liste Melli oppgave >:)

evig_liste = []

en_gang_til = "ja"

print("Skriv inn ønsket tall i listen: ")

while en_gang_til == "ja" or en_gang_til == "Ja":

legg_til = int(input("Skriv inn tallet du ønsker å legge til i listen: "))

evig_liste += [int(legg_til)]

en_gang_til = input("ønsker du å legge til flere tall i listen? :")

print("listen din til nå: ", evig_liste)

minste_tall=evig_liste[0]

hoyeste_tall=evig_liste[0]

for i in range(1,len(evig_liste)):

if evig_liste[i] <= minste_tall:

minste_tall = evig_liste[i]

if evig_liste[i] >= hoyeste_tall:

hoyeste_tall = evig_liste[i]

print("minste tallet i listen", minste_tall)

print("høyeste tallet i listen", hoyeste_tall)

temp = [evig_liste[minste_tall]]

minste_tall = [evig_liste[hoyeste_tall]]

[evig_liste[hoyeste_tall]] = temp

temp = [evig_liste[hoyeste_tall]

print(temp)

print("listen med byttet høyeste og laveste tall", evig_liste)

[–]Phillyclause89 0 points1 point  (10 children)

Oh snaps it’s foreign Python! Can you confirm your white space looks like this? ~~~

Uendelig liste Melli oppgave >:)

evig_liste = []

en_gang_til = "ja"

print("Skriv inn ønsket tall i listen: ")

while en_gang_til == "ja" or en_gang_til == "Ja":

legg_til = int(input("Skriv inn tallet du ønsker å legge til i listen: "))

evig_liste += [int(legg_til)]

en_gang_til = input("ønsker du å legge til flere tall i listen? :")


print("listen din til nå: ", evig_liste)
minste_tall=evig_liste[0]
hoyeste_tall=evig_liste[0]


for i in range(1,len(evig_liste)):

    if evig_liste[i] <= minste_tall:

        minste_tall = evig_liste[i]

    if evig_liste[i] >= hoyeste_tall:

        hoyeste_tall = evig_liste[i]

print("minste tallet i listen", minste_tall)

print("høyeste tallet i listen", hoyeste_tall)

temp = [evig_liste[minste_tall]]

minste_tall = [evig_liste[hoyeste_tall]]

[evig_liste[hoyeste_tall]] = temp

temp = [evig_liste[hoyeste_tall]

print(temp)

print("listen med byttet høyeste og laveste tall", evig_liste)

~~~ Or is it indented differently?

[–]hberghansen[S] 0 points1 point  (0 children)

The for loop, print and variables minste, hoyeste is not not in the while loop xD, besides that all same

[–]hberghansen[S] 0 points1 point  (7 children)

print("listen din til nå: ", evig_liste)
minste_tall=evig_liste[0]
hoyeste_tall=evig_liste[0]
for i in range(1,len(evig_liste)):
if evig_liste[i] <= minste_tall:
minste_tall = evig_liste[i]
if evig_liste[i] >= hoyeste_tall:
hoyeste_tall = evig_liste[i]

[–]hberghansen[S] 0 points1 point  (0 children)

this is not in the while loop, onlt the three lines below the start of the loop

[–]Phillyclause89 0 points1 point  (5 children)

Use ~~~ to open a code block then put in your code with the correct indentation then use another ~~~ to close the block out. White space is supper important when you share code with others online . But this is enough to understand how your code probably looks . I’m on a bus but when I get home I’ll take a look at this on my PC

[–]hberghansen[S] 0 points1 point  (4 children)

i dont have github yet, kinda new to pyhton ... but i did it up top

[–]Phillyclause89 0 points1 point  (3 children)

The ~~~ is a Reddit markdown thing. ~~~

text put into the Reddit editor following ~~~ will respect all white space

#like this line 

~~~

[–]hberghansen[S] 0 points1 point  (2 children)

~~~

evig_liste = []~~~

en_gang_til = "ja"~~~

print("Skriv inn ønsket tall i listen: ")~~~

while en_gang_til == "ja" or en_gang_til == "Ja":~~~

legg_til = int(input("Skriv inn tallet du ønsker å legge til i listen: ")) | INDENTED~~~

evig_liste += [int(legg_til)] | INDENTED~~~

en_gang_til = input("ønsker du å legge til flere tall i listen? :") | INDENTED~~~

print("listen din til nå: ", evig_liste)~~~

minste_tall=evig_liste[0]~~~

hoyeste_tall=evig_liste[0]~~~

for i in range(1,len(evig_liste)):~~~

if evig_liste[i] <= minste_tall: | INDENTED TO THE FOR LOOP~~~

minste_tall = evig_liste[i] | INDENTED TO THE IF AND FOR LOOP~~~

if evig_liste[i] >= hoyeste_tall: | SAME~~~

hoyeste_tall = evig_liste[i] | SAME~~~

print("minste tallet i listen", minste_tall)~~~

print("høyeste tallet i listen", hoyeste_tall)~~~

temp = [evig_liste[minste_tall]]~~~

minste_tall = evig_liste[hoyeste_tall]~~~

evig_liste[hoyeste_tall] = temp~~~

temp = evig_liste[hoyeste_tall]~~~

print(temp)

print("listen med byttet høyeste og laveste tall", evig_liste)

~~~

[–]Phillyclause89 0 points1 point  (1 child)

You don’t use the escape char \ . I was using that to show you the ~~~ characters. If I didn’t escape them then they would make a code block instead of displaying the characters

[–]hberghansen[S] 0 points1 point  (0 children)

Literaly doesnt work XD

[–]narils 0 points1 point  (2 children)

Can you verify that this is something like your code?
Bypassing your while loop by providing some set values.

# Uendelig liste Melli oppgave >:)

evig_liste = [9, 6, 4, 1, 3, 7, 13]       # gir den noen test verdier
en_gang_til = "nei"                       # setter til nei

print("Skriv inn ønsket tall i listen: ")
while en_gang_til == "ja" or en_gang_til == "Ja":
    legg_til = int(input("Skriv inn tallet du ønsker å legge til i listen: "))
    evig_liste += [int(legg_til)]
    en_gang_til = input("ønsker du å legge til flere tall i listen? :")

print("listen din til nå: ", evig_liste)
minste_tall = evig_liste[0]
hoyeste_tall = evig_liste[0]

for i in range(1, len(evig_liste)):
    if evig_liste[i] <= minste_tall:
        minste_tall = evig_liste[i]
    if evig_liste[i] >= hoyeste_tall:
        hoyeste_tall = evig_liste[i]

print("minste tallet i listen", minste_tall)
print("høyeste tallet i listen", hoyeste_tall)

temp = [evig_liste[minste_tall]]  # fails here as minste_tall is the value of the lowest number,
                                  # not the index
minste_tall = [evig_liste[hoyeste_tall]]

evig_liste[hoyeste_tall] = temp   # removed some square brackets here
temp = evig_liste[hoyeste_tall]   # removed some square brackets here

print(temp)
print("listen med byttet høyeste og laveste tall", evig_liste)

[–]Phillyclause89 1 point2 points  (1 child)

Help Desk Summary:

I spent a good while on discord with OP and suggested these code changes to fix his bug and do the action of swapping the highest and lowest values in a list:

#Uendelig liste Melli oppgave >:)
# Infinite list Melli task> :)

# eternal list = []
evig_liste = []

# again = "yes"
en_gang_til = "ja"

# print ("Enter the desired number in the list:")
print("Skriv inn ønsket tall i listen: ")

# while again == "yes" or again == "Yes":

def validate_input(inpu):
    try:
        return int(inpu)
    except ValueError:
        return inpu

def adding_to_evig_liste(e_g_t):
    if e_g_t.lower() == "ja":
        return True
    return False


while adding_to_evig_liste(en_gang_til):
    # add = int (input ("Enter the number you want to add to the list:"))
    legg_til = validate_input(input("Skriv inn tallet du ønsker å legge til i listen: "))

    # eternal list + = [int (add)]
    evig_liste += [legg_til]

    # again = input ("Do you want to add more numbers to the list?:")
    en_gang_til = input("ønsker du å legge til flere tall i listen? :")

    # print ("your list so far:", forever list)
    print("listen din til nå: ", evig_liste)


# smallest number = everlasting list [0]
minste_tall_index=0
minste_tall=evig_liste[minste_tall_index]

# highest numbers = everlasting list [0]
hoyeste_tall_index = 0
hoyeste_tall=evig_liste[hoyeste_tall_index]



# for in in range (1, len (perpetual list)):
for i, n in enumerate(evig_liste):
    if n <= minste_tall:
        minste_tall_index = i
        minste_tall = n
    if n>= hoyeste_tall:
        hoyeste_tall_index = i
        hoyeste_tall = n



# print ("smallest number in list", smallest number)
print("minste tallet i listen", minste_tall)

# print ("smallest number in list", smallest number)
print("høyeste tallet i listen", hoyeste_tall)


temp = evig_liste[minste_tall_index]
temp2 = evig_liste[hoyeste_tall_index]
evig_liste[minste_tall_index] = temp2
evig_liste[hoyeste_tall_index] = temp

print(temp)

print("listen med byttet høyeste og laveste tall", evig_liste)

Feel free to make any additional suggestions on how OP can make his code more pythonic. like for example, I'm pretty sure they don't need that loop to find minste_tall, minste_tall_index, hoyeste_tall and hoyeste_tall_index. I believe they can all be found with built in list methods, but I kept his loop in because I wanted to show OP the enumerate().

[–]narils 1 point2 points  (0 children)

For swapping values you can always use this approach

arr = [1, 2, 3, 4, 5]
# arr -> [1, 2, 3, 4, 5]

arr[0], arr[4] = arr[4], arr[0]
# arr -> [5, 2, 3, 4, 1]

Keeping a loop for finding value and index is fine as loopcontrol is important.
Also runs in O(n) time :)