Hướng dẫn how do i remove extra space in print statement in python? - làm cách nào để loại bỏ khoảng trống thừa trong câu lệnh in trong python?

0

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi là người mới đến Python, tôi đang sử dụng v2.7

#Filename:ReverseNumber.py
data=int[raw_input["Enter any number: "]]
print "Reverse of the number: ",
while data!=0:
    a=data%10
    print a,
    data=data/10

Vì vậy, đầu ra sẽ đến như:

Enter any number: 123
Reverse of the number: 321

Nhưng thay vì điều này trong dòng thứ hai, nó đang in thêm một khoảng trống trước mỗi số.

Làm thế nào để vượt qua điều này?

Foo bah

25.1k5 Huy hiệu vàng53 Huy hiệu bạc79 Huy hiệu đồng5 gold badges53 silver badges79 bronze badges

Đã hỏi ngày 5 tháng 10 năm 2011 lúc 6:20Oct 5, 2011 at 6:20

1

Bạn có thể sửa đổi cách tiếp cận của mình theo một số cách:

Tạo danh sách các giá trị của bạn, sau đó tham gia với chúng với một chuỗi trống để in:

out = []
while data != 0:
  out.append[data % 10]
  data /= 10
print ''.join[map[str, out]]

Bạn có thể bỏ qua toàn bộ bước chuyển đổi số nguyên và chỉ cần đảo ngược chuỗi đến:

data = '123'
print data[-1::-1]

Bạn có thể bỏ qua bước số nguyên và tham gia kết quả đảo ngược:

data = '123'
print ''.join[reversed[data]]

Bạn có thể thêm

Enter any number: 123
Reverse of the number: 321
3 vào các lệnh in của mình cho các số của bạn:

while data != 0:
  print '\b%d' % [data % 10]
  data /= 10

Hy vọng rằng một trong những điều phù hợp với yêu cầu của bạn.

Đã trả lời ngày 5 tháng 10 năm 2011 lúc 6:35Oct 5, 2011 at 6:35

g.d.d.cg.d.d.cg.d.d.c

45.1k8 Huy hiệu vàng98 Huy hiệu bạc110 Huy hiệu đồng8 gold badges98 silver badges110 bronze badges

2

Có một không gian ngầm khi

Enter any number: 123
Reverse of the number: 321
4 được in.

Từ các tài liệu Python:

"Một không gian được viết trước mỗi đối tượng được [chuyển đổi và] được viết, trừ khi hệ thống đầu ra tin rằng nó được định vị ở đầu dòng. Đây là trường hợp [1] khi chưa có ký tự nào được ghi vào đầu ra tiêu chuẩn, [2 ] khi ký tự cuối cùng được ghi vào đầu ra tiêu chuẩn là ký tự khoảng trắng ngoại trừ '', hoặc [3] khi thao tác ghi cuối cùng trên đầu ra tiêu chuẩn không phải là một câu lệnh in. "A space is written before each object is [converted and] written, unless the output system believes it is positioned at the beginning of a line. This is the case [1] when no characters have yet been written to standard output, [2] when the last character written to standard output is a whitespace character except ' ', or [3] when the last write operation on standard output was not a print statement."

Vì vậy, hãy thử

print "Reverse of the number:",

Đã trả lời ngày 5 tháng 10 năm 2011 lúc 7:13Oct 5, 2011 at 7:13

Foo bahfoo bahFoo Bah

25.1k5 Huy hiệu vàng53 Huy hiệu bạc79 Huy hiệu đồng5 gold badges53 silver badges79 bronze badges

1

Đã hỏi ngày 5 tháng 10 năm 2011 lúc 6:20

data = int [raw_input ["Enter any number: "]]
if data == 0:
    str = "0"
else:
    str = ""
    while data != 0:
        str = "%s%d" % [str, data % 10]
        data = data / 10
print "Reverse of the number: %s" % [str]

Bạn có thể sửa đổi cách tiếp cận của mình theo một số cách:Oct 5, 2011 at 6:27

Tạo danh sách các giá trị của bạn, sau đó tham gia với chúng với một chuỗi trống để in:paxdiablo

Bạn có thể bỏ qua toàn bộ bước chuyển đổi số nguyên và chỉ cần đảo ngược chuỗi đến:227 gold badges1549 silver badges1918 bronze badges

Bạn có thể bỏ qua bước số nguyên và tham gia kết quả đảo ngược:

a = ''
while data!=0:
    a += data%10
    data=data/10
print a

Bạn có thể thêm

Enter any number: 123
Reverse of the number: 321
3 vào các lệnh in của mình cho các số của bạn:Oct 5, 2011 at 6:26

Hy vọng rằng một trong những điều phù hợp với yêu cầu của bạn.Moyshe

Đã trả lời ngày 5 tháng 10 năm 2011 lúc 6:351 gold badge11 silver badges19 bronze badges

3

Không gian cũng được coi là một ký tự bên trong một chuỗi và đôi khi không gian không cần thiết trong chuỗi gây ra kết quả sai.

Ví dụ: thay vì gõ 'Alex', một người đã nhập tên của mình 'Alex & NBSP; '[Xem hai khoảng trống ở cuối chuỗi] và nếu chúng ta so sánh chúng bằng toán tử' == '.'Alex', a person typed his name 'Alex  ' [see two spaces at the end of the string], and if we compare them using the '==' operator.

Thí dụ:

if 'Alex' == 'Alex  ':
    print ["Hello Alex!"]
else:
    print ["Not found"]

Đầu ra:

Enter any number: 123
Reverse of the number: 321
0

Đầu ra của chương trình trên sẽ là 'không tìm thấy' và bằng cách này, các không gian bổ sung có thể dẫn đến kết quả sai. & NBSP; Do đó, các không gian trống như vậy nên được xóa khỏi chuỗi trước khi được sử dụng. Điều này là có thể bằng cách sử dụng các phương thức rstrip [], lstrip [] và dải [] trong python. Ba chức năng này làm điều tương tự, nhưng có một sự khác biệt nhỏ giữa ba chức năng này.rstrip[], lstrip[] and strip[] methods in Python. These three functions do the same thing, but there is a slight difference between these three functions.

Hàm sốSự mô tả
rstrip []Phương thức rstrip [] loại bỏ khoảng trắng ở cuối chuỗi.
Lstrip []Phương thức Lstrip [] loại bỏ khoảng trắng ở đầu chuỗi.
dải []Phương thức dải [] loại bỏ khoảng trắng ở đầu và cuối & nbsp; [cả hai cạnh] của một chuỗi.

Ba phương pháp này không loại bỏ các khoảng trống giữa các chuỗi và thường được sử dụng trong đó đầu vào được lấy từ người dùng.

Thí dụ:

Enter any number: 123
Reverse of the number: 321
1

Đầu ra:

Enter any number: 123
Reverse of the number: 321
2

Bài Viết Liên Quan

Chủ Đề