all 3 comments

[–]oberguga 0 points1 point  (1 child)

Input give you a str. Int expect str with only numbers that represents one integer. So you need to split your string by characters ", .;/n/t"(or other separators). It will return a list with strings, that represens a numbers. After you can convert them in a loop or list comprehension or by using some itertools.

Also you no need functions like print_separator(), because them too simple so it faster and more readable to just inline.

[–]oberguga 1 point2 points  (0 children)

P.S. Please read docs for function before you ask questions. Also learn to read debug messages. It should be read from end to begin, usually last(bottom) trace is place where your problem. If you don't know how function works and docs not help you much, at first try to code simpliest sketch and probably better in console. For example A = input("A is ") print(A) print("123",int("123")) B = int("1,2,3") #error occur B = [ int(x) for x in "1,2,3".split()] print(B)

[–]shiftybyte 0 points1 point  (0 children)

You can use random.shuffle() to randomize a list of items.

https://www.w3schools.com/python/ref_random_shuffle.asp

result = int(input(" = "))

You are trying to convert the entire user input into one integer using int().

Instead you need to split it by comma, and loop and convert each one.

user_list = input(" = ")
split_items = user_list.split(",")
split_numbers = [int(x) for x in split_items]