printing a str and int in a single statement [duplicate] - python

This question already has answers here:
How to print without a newline or space
(26 answers)
Closed 2 years ago.
I've begun my first scripting class. I'm am currently stuck in the string formatting section.
The instructions for this problem are, "Write a single statement to print: user_word,user_number. Note that there is no space between the comma and user_number."
They provide part of the code to start,
user_word = str(input())
user_number = int(input())
I've had trouble getting errors combining strings and integers in single statements and I am a bit lost on where to start on this. This is also my first time on stack overflow.

You can do it like this
print(user_word+","+str(user_number))
It should work.
This way, you cast you int to string and then you concatenate.

Related

How do I stop spaces appearing in this program? [duplicate]

This question already has answers here:
How to print without a newline or space
(26 answers)
Closed 2 years ago.
In class im meant to write a program that arranges coordinates for you. I wrote this:
x = input("")
y = input("")
z = input("")
print("(",x,",",y,",",z,")\n)
and the output is: (␣0␣,␣-7831␣,␣2323␣)⤶
how do I stop the extra spaces from appearing so I get this?: (0,␣-7831,␣2323)⤶
In modern Python, the nicest way is to use an f-string:
print(f"({x},{y},{z})")
Note how the string is prefixed with f. Everything between the curly braces {} then gets interpreted as a Python expression which is subsequently converted to a string and inserted at that point.
Note that print already follows up with a newline, so unless you want an extra one (that is, a blank line), you don't need to add \n yourself.

How to run a statement again and again on a case but on different occurrences [duplicate]

This question already has answers here:
Replace characters in string from dictionary mapping
(2 answers)
Closed 2 years ago.
Hey guys I am making an encoding system in which each letter gets converted into predefined gibberish.
For example, 'a' has already been set as 'ashgahsjahjs'.
But using if a in data: print("ashgahsjahjs") executes this for one time only, if there are more than one A in the word, it would not print them with gibberish.
Using a while loop does not work either as it keeps printing indefinitely, so is there a way to print the gibberish each time there is a new occurrence of a letter.
you could try indexing the string.
your_string = "are you an apple?"
for i in range(len(your_string)):
if "a" == your_string[i]:
print("Found a at position {pos}".format(pos=i))
else:
print("Nope")

Python 3.x replace() with index [duplicate]

This question already has answers here:
Changing one character in a string
(15 answers)
Closed 2 years ago.
A question I came up with:
I'm trying to write a function that replaces the first and the fourth letter of a word with the same letter just capitalized.
Currently I am working with the string.replace() method. It works great for most of the time, except when there is an equal letter to the one on the fourth place before it.
Example: "bananas"
What I would expect the program to do is to return "BanAnas" but for a reason it return "BAnanas". If I use the word "submarine" it would just work fine, "SubMarine".
The code I wrote is this:
def old_macdonald(name):
name = name.replace(name[0], name[0].upper(), 1)
name = name.replace(name[3], name[3].upper(), 1)
return name
Can someone explain why this is happening?
It's because name.replace(name[3], name[3].upper(), 1) looks for the first character matching name[3]. Stop using replace altogether, chop up your string by slicing.

How to delete the last character in a string in python 3 [duplicate]

This question already has answers here:
Remove final character from string
(5 answers)
Closed 4 years ago.
I'm trying to delete the last character of a string, and every documentation I can find says that this works.
string = 'test'
string[:-1]
print(string)
However, whenever I try it, my IDE tells me that line two has no effect, and when I run the code it outputs "test" and not "tes", which is what I want it to do. I think that the documentation I'm reading is about python 2 and not 3, because I don't understand why else this simple code wouldn't work. Can someone show me how to remove the last letter of a string in python 3?
new_string = string[:-1]
print(new_string)
You must save the string in the memory. When we assign a variable to the string without the last character, the variable then "stores" the new value. Thus we can print it out.

What does ::-1 mean for python string index? [duplicate]

This question already has answers here:
Understanding slicing
(38 answers)
Closed 6 years ago.
I was looking at python code that printed palindromes, and I stumbled upon this line of code:
for i in range(1000, 7, -1):
if (str(i) == str(i)[::-1])
I'm trying to learn Python right now, and I'm just not that familiar with the syntax. Currently, I understand that this line of code checks to see if the first digit of integer i matches its last digit. Does the syntax of this line mean that the index is being incremented in order to check if it's a palindrome? What is the purpose of having two colons?
The colons are separators. Rather than providing a "beginning" and an "end" index, it's telling Python to skip by every -1 objects in the array. It's effectively reversing the array.

Categories