Hướng dẫn how do you split two floats in python? - làm thế nào để bạn tách hai phao trong python?

Để giải thích tại sao những gì bạn cố gắng không hoạt động,

n.split[] for n in '1234.12'

có hiệu quả tương đương với

for n in '1234.12':
    n.split[]

Khi bạn lặp lại một chuỗi như vậy, cuối cùng bạn sẽ nhận được các ký tự riêng lẻ, vì vậy chúng tôi cũng có thể nói điều đó tương đương với:

for n in ['1', '2', '3', '4', '.', '1', '2']:
    n.split[]

Vì vậy, vì

for n in '1234.12':
    n.split[]
7 chỉ được cung cấp một ký tự duy nhất tại một thời điểm, nó không hoạt động. Bạn muốn di chuyển phần chia cho chính chuỗi:

n for n in '1234.12'.split[]

Tại thời điểm đó bạn không cần sự hiểu biết nữa.

'1234.12'.split[]

Phần cuối cùng đã được giải thích ở nơi khác ...

for n in '1234.12':
    n.split[]
7, theo mặc định, chia tách trên Whitespace, vì vậy để bảo nó chia trong một khoảng thời gian thay thế: thay vào đó:

'1234.12'.split['.']

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

    Đọc
    Method #1 : Using loop + float[] 
    This is brute force method in which this task can be performed. In this, we iterate for each element and break in chunks of 4 and skip to every 5th element and perform split and store in list. The conversation from string to float is done using float[].
     

    Python3

    Bàn luận

    Đôi khi, trong khi làm việc với các ngôn ngữ kế thừa, chúng ta có thể có một số vấn đề nhất định. Một cái như vậy có thể làm việc với Fortran có thể cung cấp đầu ra văn bản [không có khoảng trống, được yêu cầu] ‘12 .4567.23. Trong đó, thực sự có hai số điểm nổi riêng biệt nhưng được nối. Chúng ta có thể có vấn đề trong đó chúng ta cần tách chúng ra. Hãy thảo luận về một số cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi lặp lại cho từng yếu tố và phá vỡ các khối 4 và bỏ qua mỗi yếu tố thứ 5 và thực hiện chia tách và lưu trữ trong danh sách. Cuộc trò chuyện từ chuỗi đến float được thực hiện bằng float []. & Nbsp;

    for n in '1234.12':
        n.split[]
    
    9
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    0
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    1

    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    2
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    3
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    4
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    5
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    6

    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    7
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    0
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    9

    n for n in '1234.12'.split[]
    
    0
    n for n in '1234.12'.split[]
    
    1
    n for n in '1234.12'.split[]
    
    2
    n for n in '1234.12'.split[]
    
    3
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    3
    n for n in '1234.12'.split[]
    
    5
    n for n in '1234.12'.split[]
    
    6
    n for n in '1234.12'.split[]
    
    7
    n for n in '1234.12'.split[]
    
    8
    n for n in '1234.12'.split[]
    
    9
    '1234.12'.split[]
    
    0

    '1234.12'.split[]
    
    1
    '1234.12'.split[]
    
    2
    '1234.12'.split[]
    
    3
    '1234.12'.split[]
    
    4
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    5
    n for n in '1234.12'.split[]
    
    9
    '1234.12'.split[]
    
    7

    The original string is : 45.6778.4524.45
    The float list is : [45.67, 78.45, 24.45]

    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    2
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    3
    '1234.12'.split['.']
    
    0
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    5
    '1234.12'.split['.']
    
    2
    '1234.12'.split['.']
    
    3
    Method #2 : Using list comprehension + float[] 
    This is shorthand way to solve this problem. This is similar to above function. The difference is that we perform all loop task in single line using list comprehension.
     

    Python3

    Bàn luận

    Đôi khi, trong khi làm việc với các ngôn ngữ kế thừa, chúng ta có thể có một số vấn đề nhất định. Một cái như vậy có thể làm việc với Fortran có thể cung cấp đầu ra văn bản [không có khoảng trống, được yêu cầu] ‘12 .4567.23. Trong đó, thực sự có hai số điểm nổi riêng biệt nhưng được nối. Chúng ta có thể có vấn đề trong đó chúng ta cần tách chúng ra. Hãy thảo luận về một số cách nhất định trong đó nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi lặp lại cho từng yếu tố và phá vỡ các khối 4 và bỏ qua mỗi yếu tố thứ 5 và thực hiện chia tách và lưu trữ trong danh sách. Cuộc trò chuyện từ chuỗi đến float được thực hiện bằng float []. & Nbsp;

    for n in '1234.12':
        n.split[]
    
    9
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    0
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    1

    n for n in '1234.12'.split[]
    
    0
    n for n in '1234.12'.split[]
    
    1
    n for n in '1234.12'.split[]
    
    2
    n for n in '1234.12'.split[]
    
    3
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    3
    n for n in '1234.12'.split[]
    
    5
    n for n in '1234.12'.split[]
    
    6
    n for n in '1234.12'.split[]
    
    7
    n for n in '1234.12'.split[]
    
    8
    n for n in '1234.12'.split[]
    
    9
    '1234.12'.split[]
    
    0

    '1234.12'.split[]
    
    1
    '1234.12'.split[]
    
    2
    '1234.12'.split[]
    
    3
    '1234.12'.split[]
    
    4
    for n in ['1', '2', '3', '4', '.', '1', '2']:
        n.split[]
    
    5
    n for n in '1234.12'.split[]
    
    9
    '1234.12'.split[]
    
    7

    The original string is : 45.6778.4524.45
    The float list is : [45.67, 78.45, 24.45]


    Chia một số thành các phần số nguyên và thập phân trong Python #

    Sử dụng phương thức

    Copied!

    import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
    7 để chia một số thành các phần số nguyên và thập phân, ví dụ:

    Copied!

    import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
    8. Phương pháp

    Copied!

    import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
    7 trả về các phần phân số và số nguyên của số được cung cấp.

    ________số 8

    Chúng tôi đã sử dụng phương pháp

    Copied!

    import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
    7 để chia một số thành các phần số nguyên và thập phân.

    Phương thức Math.modf trả về các phần phân số và số nguyên của số được cung cấp.

    Các phần phân số và số nguyên mang dấu hiệu của số được cung cấp và là phao.

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0

    Lưu ý rằng cả hai giá trị trong

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    1 đều nổi.

    Nếu bạn cần chuyển đổi phần tử Tuple thứ hai thành số nguyên, hãy sử dụng lớp

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    2.

    for n in '1234.12':
        n.split[]
    
    0

    Ngoài ra, bạn có thể sử dụng nhà điều hành

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    3 và phân chia sàn

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    4.

    Để chia một số thành các phần số nguyên và thập phân:

    1. Sử dụng phân chia sàn để có được phần số nguyên của số bằng cách chia cho

      Copied!

      import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
      5, ví dụ:

      Copied!

      import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
      6.
    2. Sử dụng toán tử modulo

      Copied!

      import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
      3 để có được phần phân đoạn bằng cách nhận phần còn lại sau khi chia cho

      Copied!

      import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
      5, ví dụ:

      Copied!

      import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
      9.

    for n in '1234.12':
        n.split[]
    
    1

    Toán tử modulo [%] trả về phần còn lại từ sự phân chia giá trị thứ nhất cho phần thứ hai.

    Khi chúng tôi sử dụng toán tử modulo để chia một số cho

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    5, phần còn lại là phần phân số.

    for n in '1234.12':
        n.split[]
    
    2

    Bạn có thể sử dụng phân chia sàn để có được phần số nguyên của một số.

    for n in '1234.12':
        n.split[]
    
    3

    Kết quả của việc sử dụng toán tử phân chia sàn

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    4 là của một bộ phận toán học với hàm
    for n in '1234.12':
        n.split[]
    
    02 được áp dụng cho kết quả.

    Chia một số cho

    Copied!

    import math my_num = -1.3588 result = math.modf[my_num] print[result] # 👉️ [-0.3588, -1.0] print[result[0]] # 👉️ -0.3588 print[result[1]] # 👉️ -1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ -0.3588 print[integer] # 👉️ -1.0
    5 và làm tròn xuống, cung cấp cho chúng ta phần số nguyên của số.

    Tuy nhiên, nếu bạn quyết định sử dụng phương pháp này, lưu ý rằng nó không xử lý các số âm như bạn mong đợi.

    for n in '1234.12':
        n.split[]
    
    4

    Nếu bạn phải xử lý các số âm, hãy sử dụng phương thức

    Copied!

    import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
    7 thay thế.

    Bạn cũng có thể thấy các ví dụ trực tuyến sử dụng chức năng

    for n in '1234.12':
        n.split[]
    
    05. Tuy nhiên, lưu ý rằng
    for n in '1234.12':
        n.split[]
    
    05 cũng không xử lý các số âm theo cách bạn mong đợi.

    for n in '1234.12':
        n.split[]
    
    5

    Hàm Divmod có hai số và trả về một tuple chứa 2 giá trị:

    1. Kết quả của việc chia đối số thứ nhất cho thứ hai.
    2. Phần còn lại từ việc chia đối số đầu tiên cho phần thứ hai.

    Tuy nhiên, hàm

    for n in '1234.12':
        n.split[]
    
    05 cũng không xử lý các số âm theo cách phù hợp với trường hợp sử dụng của chúng tôi.

    for n in '1234.12':
        n.split[]
    
    6

    Vì lý do này, bạn nên sử dụng phương thức

    Copied!

    import math my_num = 1.3588 # ✅ split number into integer and decimal parts result = math.modf[my_num] print[result] # 👉️ [0.3588, 1.0] print[result[0]] # 👉️ 0.3588 print[result[1]] # 👉️ 1.0 # ✅ unpack decimal and integer values dec, integer = result print[dec] # 👉️ 0.3588 print[integer] # 👉️ 1.0
    7 khi bạn phải chia một số thành các phần số nguyên và thập phân.

    Làm thế nào để bạn chia một số float?

    Sử dụng toán tử modulo [ %] Nếu một số được chia cho 1, phần còn lại sẽ là phần phân số.Vì vậy, sử dụng toán tử modulo sẽ cung cấp phần phân đoạn của một chiếc phao. If a number is divided by 1, the remainder will be the fractional part. So, using the modulo operator will give the fractional part of a float.

    Bạn có thể thêm 2 chiếc phao trong Python không?

    Làm thế nào để bạn thêm hai chiếc phao trong Python?Tạo một biến float_number_1 giữ số nổi đầu tiên, tạo một biến float_number_2 giữ số nổi thứ hai, giờ đây tạo ra một biến sum_of_two_float_numbers giữ tổng của hai số.

    Làm thế nào để bạn chia hai giá trị trong Python?

    Phương thức str.Split [] sẽ chia chuỗi thành một danh sách các chuỗi, có thể được gán cho các biến trong một khai báo.Đã sao chép!Ví dụ chia chuỗi thành một danh sách các chuỗi trên mỗi không gian, nhưng bạn có thể sử dụng bất kỳ dấu phân cách nào khác. split[] method will split the string into a list of strings, which can be assigned to variables in a single declaration. Copied! The example splits the string into a list of strings on each space, but you could use any other delimiter.

    Làm thế nào để bạn chia một chiếc phao thành hai số nguyên?

    Nếu bạn muốn chuyển đổi một chiếc phao thành hai INT, hãy trừ giá trị Int bị cắt khỏi phao, sau đó nhân phần còn lại với 10000.subtract the truncated int value from the float, then multiply the remaining fraction by 10000.

    Bài Viết Liên Quan

    Chủ Đề