Python Forum
print function output wrong with strings.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
print function output wrong with strings.
#1
Hi Team,
I am beginner in Python and below is my code. I want to print some content in specific format with below code but it is not printed as mention. it will be helpful if someone help to resolve it.

f = open(r"C:\Users\emanpos\bbuser.txt","r")
for x in f:
print("<Number>")
print("      %s%s%s" %("<Number>", x,"</Number>"))
print('</Number>')
Expected Output:
Output:
<Number> <Number>abc</Number> </Number>
But Output comes as below.
Output:
<Number> <Number>abc </Number> </Number>
snippsat write Feb-11-2021, 03:31 PM:
Added code tag in your post,look at BBCode on how to use.
Reply
#2
You iterate over lines in file. What makes line a line? Newline at the end (\n)!

It also advisable to open files using with and use f-strings.
I'm not 'in'-sane. Indeed, I am so far 'out' of sane that you appear a tiny blip on the distant coast of sanity. Bucky Katt, Get Fuzzy

Da Bishop: There's a dead bishop on the landing. I don't know who keeps bringing them in here. ....but society is to blame.
Reply
#3
As mention use f-string and with open().
Then it look like this.
with open(r"num.txt", "r") as f:
    print("<Number>")
    for line in f:
        print(f'{" ":<4}<Number>{line.strip()}</Number>')
    print('</Number>'
Output:
<Number> <Number>1</Number> <Number>2</Number> <Number>3</Number> <Number>4</Number> <Number>5</Number> </Number>
Reply
#4
Indentation in Python does the job of {} in C. It is how you block code.

When I try to run your program I get an error.
f = open(r"C:\Users\emanpos\bbuser.txt","r")
for x in f:
print("<Number>")
print("      %s%s%s" %("<Number>", x,"</Number>"))
print('</Number>')
Error:
File "..., line 3 print("<Number>") ^ IndentationError: expected an indented block
I don't know why you aren't getting the same error. But as snippsat says, your program is not going to work the way you want because your code blocks are not properly indented
f = open(r"C:\Users\emanpos\bbuser.txt","r")
for x in f:
    print("<Number>")
    print("      %s%s%s" %("<Number>", x,"</Number>"))
    print('</Number>')
I don't care if you use f'strings or a context manager.
mposwal likes this post
Reply
#5
for example

test.txt content

1
2
3
4
5
6
7

if you want it in lines between <Number> and </Number>

f = open("test.txt", "r").read().splitlines()
for x in f:
    print(f"<Number>{x}</Number>")
Output:
<Number>1</Number> <Number>2</Number> <Number>3</Number> <Number>4</Number> <Number>5</Number> <Number>6</Number> <Number>7</Number>
Reply
#6
Hi,

(Of course you need proper indentation, and f strings are easier)
But if I take your original code and run it in IDLE, (and replace the file with a list of numbers)
it outputs exactly what you would like it to do.

So I suppose the file contains a CRLF on each line, that you should strip first.
Paul
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  print doesnt work in a function ony 2 233 Mar-11-2024, 12:42 PM
Last Post: Pedroski55
  problem in output of a function akbarza 9 1,095 Sep-29-2023, 11:13 AM
Last Post: snippsat
  Trying to understand strings and lists of strings Konstantin23 2 697 Aug-06-2023, 11:42 AM
Last Post: deanhystad
  Compiles Python code with no error but giving out no output - what's wrong with it? pythonflea 6 1,469 Mar-27-2023, 07:38 AM
Last Post: buran
  Python Pandas Syntax problem? Wrong Output, any ideas? Gbuoy 2 883 Jan-18-2023, 10:02 PM
Last Post: snippsat
  Python VS Code: using print command twice but not getting output from terminal kdx264 4 1,033 Jan-16-2023, 07:38 PM
Last Post: Skaperen
  How to print variables in function? samuelbachorik 3 851 Dec-31-2022, 11:12 PM
Last Post: stevendaprano
  How to output one value per request of the CSV and print it in another func? Student44 3 1,278 Nov-11-2022, 10:45 PM
Last Post: snippsat
  Am I wrong or is Udemy wrong? String Slicing! Mavoz 3 2,386 Nov-05-2022, 11:33 AM
Last Post: Mavoz
  How to print the output of a defined function bshoushtarian 4 1,236 Sep-08-2022, 01:44 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020