+ 1
Simple input number + list programme, but how to use strings?
Created my first programme. I wanted something with user-input that combined some early themes I've learned. I'm sure it's possible to define the order of print values by user-input too, which I may work on next. I'd like to know from the community, how it could be more sophisticated / eloquently written, and how I can use strings? At the moment it only works with numbers. a = input ("Enter number: ") b = input ("Enter number: ") c = input ("Enter number: ") list = (a, b, c) print list[0], list[1], list[2]
9 Answers
0
Well... it actually is using stings. When you use input, it captures a string. So if you were to try and add these values together(I added a piece to your code as a test) you would get a concatenated string of numbers. So 1 + 2+ 3 would not be 6, but 123. You have to change the input to an integer as you bring in the code.
Your code:
a = input("Enter number: ")
b = input("Enter number: ")
c = input("Enter number: ")
list = (a, b, c)
test = a + b + c
print(list[0], list[1], list[2])
print(test)
Try with this as input:
int(input("Enter number: "))
0
a = input ("Enter number: ")
b = input ("Enter number: ")
c = input ("Enter number: ")
myList = (a, b, c)
print(myList)
You shouldn't name your list "list"
0
Thanks for this Joker and Jim. I think when I tried entering an alphanumerical input, like "Bob", the console returned an error (Python 2.7 on Ubuntu) that 'Bob had not been defined'. This really threw me, so I tested with numbers only, which worked and so I assumed it didn't work with strings. I don't have a reliable web connection at the moment so I can't really web search the solutions, which I'd normally do before posting.
0
Jim, thank you. All your suggestions work brilliantly, and it does work with strings (although as you say they're already strings).
Enter number: bob
Enter number: gaz
Enter number: jim
bob gaz jim
bobgazjim
;-)
0
...although if I use your example:
int(input("Enter number: "))
...and I add a variable at the start:
a = int(input("Enter number: "))
b = int(input("Enter number: "))
...then entering a value like 'bob' returns an error. Yet if I use:
a = input("Enter number: ")
b = input("Enter number: ")
...then a value like 'bob' works fine.
Why is this?
Thanks.
0
Ah, because once we told it to be an integer it can't process a string. So in most situations you are either dealing with a computation or a string. What is the ultimate goal of your process, to modify a string or calculate a value? You could put something in place to determine what you entered and handle it accordingly, but in most situations that isn't required.
0
I'm simply trying to create a useful (?!?) implementation of some concepts and themes learned so far, because I learn best by jumping in at the deep end and just doing it. I suppose, I'd like to create something like a word-jumble game where the user can enter any value(s) and then choose the order at which they are returned, or have it randomised like bingo.
0
I just figured out that I can replace int with str, which works for strings. I wonder if there is a way that I can determine the kind of input with an if /elif loop. Just pondering...
0
You could also use the for loop to print the variables in list, but it would be outputted on separate lines.
For example:
a = input ("Enter number: ")
b = input ("Enter number: ")
c = input ("Enter number: ")
list = (a, b, c)
for num in list:
print (num)
If you inputted 1 as a, 2 as b, and 3 as c it would output:
1
2
3