Làm thế nào để bạn in chữ số trong python?

Ở đây, chúng ta sẽ sử dụng một số cơ sở toán học trong khi lập trình. Vấn đề là, khi bạn hỏi một số từ người dùng, người dùng sẽ cung cấp đầu vào dưới dạng số có nhiều chữ số [chỉ xem xét số nguyên]. Vậy tìm loại số thì dễ nhưng tìm chữ số trong dãy số thì không dễ

Vì vậy, trong bài toán sau đây, chúng ta sẽ sử dụng thủ thuật toán học của

  1. Trừ phần dư sau khi chia cho 10 i. e. loại bỏ chữ số cuối cùng
  2. Chia một số nguyên cho 10 sẽ ra một số nguyên trong lập trình máy tính [câu lệnh trên chỉ đúng khi các biến được khởi tạo là int mà thôi]

Ví dụ

    Input: 12345

    Output: 54321

Mã Python để trích xuất và in các chữ số của một số theo thứ tự ngược lại

num = int[input["Enter a number with multiple digit: "]]
n=0
while num>0:
    a = num%10
    num = num - a
    num = num/10
    print[int[a],end=""]
    n = n + 1   
print[n]

đầu ra

Enter a number with multiple digit: 123456789
9876543219

Ở đây, trước tiên chúng ta sử dụng một vòng lặp với điều kiện num>0 và chữ số cuối cùng của số được lấy ra bằng cách sử dụng toán tử % đơn giản sau đó, số hạng còn lại được trừ khỏi num. Sau đó, số num được giảm xuống 1/10 để chữ số cuối cùng có thể bị cắt bớt

Nếu bạn đang học lớp Python mới bắt đầu, giáo sư của bạn có thể chỉ muốn xem thứ gì đó như thế này mà không sử dụng danh sách hoặc chỉ mục chuỗi

num = 1203

for i, n in enumerate[str[num]]:
    if i == 0:
        print[n, end=""]
    else:
        print[', ' + n, end='']

[Out]: 1, 2, 0, 3

Tôi muốn viết một hàm đơn giản để in ngược lại các chữ số của một số nguyên.
Tôi nghĩ có thể thực hiện được với vòng lặp while, nhưng tôi không chắc lắm.
Tôi đã thử nhưng không được.

Mở rộng. Chọn. Gói. Số dòng

  1. def print_digits[n]
  2. n = abs[n]
  3. trong khi n > 0
  4. n = n % 10
  5. in n,
  6.  

23 Jul '08 #1

Trong python % là toán tử modulo. Tôi không chắc những gì bạn đang cố gắng ở đây

Đây là cách đảo ngược các chữ số của một số nguyên bằng cách sử dụng khả năng hiểu danh sách

Mở rộng. Chọn. Gói. Số dòng

  1. >>> def print_digits[n]
  2. new_n = [lett for lett in str[n]]
  3. new_n. đảo ngược[]
  4. in ''. tham gia [new_n]
  5.      
  6. >>> print_digits[136]
  7. 631
  8. >>>

23 Jul '08 #2

chờ đã. bây giờ tôi thấy những gì bạn đang cố gắng làm

Mở rộng. Chọn. Gói. Số dòng

  1. >>> def print_n[n]
  2. trong khi n > 0
  3. in n % 10,
  4. n = n / 10
  5.      
  6. >>> print_n[492]
  7. 2 9 4
  8. >>>

Mô-đun 10 sẽ cung cấp cho bạn phần còn lại nhưng bạn muốn chia số nguyên cho 10 mỗi lần để giảm số một chữ số khác

23 Jul '08 #3

Chà, tôi mới làm quen với Python và tôi đang đọc cái này.
http. // dự án sách mở. mạng/nghĩCSpy/ch06. xhtml#auto16
vì vậy bài tập là số 8

Mở rộng. Chọn. Gói. Số dòng

  1. def print_digits[n]
  2. """
  3. >>> print_digits[13789]
  4. 9 8 7 3 1
  5. >>> print_digits[39874613]
  6. 3 1 6 4 7 8 9 3
  7. >>> print_digits[213141]
  8. 1 4 1 3 1 2
  9. """
  10.  

Hi vọng điêu nay co ich

23 Jul '08 #4

Cảm ơn đã trả lời nhanh chóng. Bây giờ tôi có thể ngủ yên

23 Jul '08 #5

Đăng nhập để đăng câu trả lời của bạn hoặc Đăng ký một tài khoản miễn phí

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Chương trình phải chấp nhận một số nguyên N làm đầu vào. Chương trình phải in mẫu mong muốn như minh họa trong ví dụ đầu vào/đầu ra. ví dụ

    Đầu vào. Đầu ra 41325. . ****. *. ***. **. ***** Giải trình. đối với một số nguyên đã cho, hãy in số lượng * tương đương với mỗi chữ số trong số nguyên. Ở đây chữ số đầu tiên là 4 nên in bốn *sin dòng đầu tiên. Chữ số thứ hai là 1 nên in ra một *. Vì vậy, và cuối cùng tôi. e. , chữ số thứ năm là 5 do đó in năm * s trong dòng thứ năm. Đầu vào. Đầu ra 60710. . ******. . *******. *

    Cách tiếp cận Đọc đầu vào Đối với mỗi chữ số trong số nguyên, in số * s tương ứng Nếu chữ số đó là 0 thì in không có * s và chuyển sang dòng tiếp theo

    Python3

    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    3
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    4

    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    5
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    6
    import math
    
    def get_digits[num]:
        return [[num//[10**i]]%10 for i in range[math.ceil[math.log[num, 10]]-1, -1, -1]]
    
    0
    import math
    
    def get_digits[num]:
        return [[num//[10**i]]%10 for i in range[math.ceil[math.log[num, 10]]-1, -1, -1]]
    
    1
    |****
    |*
    |***
    |**
    |*****
    5
    import math
    
    def get_digits[num]:
        return [[num//[10**i]]%10 for i in range[math.ceil[math.log[num, 10]]-1, -1, -1]]
    
    5
    |****
    |*
    |***
    |**
    |*****
    7
    |****
    |*
    |***
    |**
    |*****
    8
    |****
    |*
    |***
    |**
    |*****
    9
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    30
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    31
    |****
    |*
    |***
    |**
    |*****
    9
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    30
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    31
    |****
    |*
    |***
    |**
    |*****
    9
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    30
    num = int[input["Enter a number with multiple digit: "]]
    n=0
    while num>0:
        a = num%10
        num = num - a
        num = num/10
        print[int[a],end=""]
        n = n + 1   
    print[n]
    
    37

    Chủ Đề