Hướng dẫn split a number into two parts python - chia một số thành hai phần 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.

Làm cách nào để chia một số thành hai mà không có số học nào trong Python? Ví dụ: bảng dưới đây:

20670005000000
30003387889032
44555008000004

Tôi muốn chuỗi trông giống như các cột bên dưới sau khi phân tách [và vẫn còn các số có thể được sử dụng trong phân tích số]:

2067000  5000000
3000338  7889032
4455500  8000004

Cách gọn gàng nhất để làm điều này trong Python là gì? Có một mô -đun Python trực tiếp liên quan đến điều này?

Hỏi ngày 12 tháng 10 năm 2017 lúc 14:51Oct 12, 2017 at 14:51

5

Đây là một cách có thể:

N = 10000000
i = 20670005000000

# The first part of the number i
i // N
# the second part
i % N

Đã trả lời ngày 12 tháng 10 năm 2017 lúc 14:56Oct 12, 2017 at 14:56

Elzellelzellelzell

2.1781 Huy hiệu vàng15 Huy hiệu bạc26 Huy hiệu đồng1 gold badge15 silver badges26 bronze badges

1

Tôi không biết đó có phải là cách tốt nhất không, nhưng bạn có thể chuyển đổi thành chuỗi, hơn là chia nó và chuyển đổi nó thành số nguyên một lần nữa:

number = [int[str[number][:len[number]/2]], int[str[number][len[number]/2:]]]

Điều này sẽ cung cấp cho bạn một touple mà bạn có thể sử dụng sau này. Bạn có thể tối ưu hóa điều này bằng cách sử dụng danh sách hiểu.

Đã trả lời ngày 12 tháng 10 năm 2017 lúc 14:56Oct 12, 2017 at 14:56

Elzellelzell

import re
s = [20670005000000, 30003387889032, 44555008000004]
final_string = [map[int, re.findall['.{'+str[len[str[i]]//2]+'}', str[i]]] for i in s]

Output:

[[2067000, 5000000], [3000338, 7889032], [4455500, 8000004]]

2.1781 Huy hiệu vàng15 Huy hiệu bạc26 Huy hiệu đồngOct 12, 2017 at 14:59

Ajax1234Ajax1234Ajax1234

Tôi không biết đó có phải là cách tốt nhất không, nhưng bạn có thể chuyển đổi thành chuỗi, hơn là chia nó và chuyển đổi nó thành số nguyên một lần nữa:7 gold badges58 silver badges100 bronze badges

Điều này sẽ cung cấp cho bạn một touple mà bạn có thể sử dụng sau này. Bạn có thể tối ưu hóa điều này bằng cách sử dụng danh sách hiểu.

  data = [20670005000000,
        30003387889032,
        44555008000004,]

  str_data = map[str, data]
  res = map[lambda x: [x[:len[x]//2],x[len[x]//2:]], str_data ]
  res = map[int, reduce[lambda x,y: x+y, res] ]
  print res

output:

[2067000, 5000000, 3000338, 7889032, 4455500, 8000004]

2.1781 Huy hiệu vàng15 Huy hiệu bạc26 Huy hiệu đồngOct 12, 2017 at 14:59

Tôi không biết đó có phải là cách tốt nhất không, nhưng bạn có thể chuyển đổi thành chuỗi, hơn là chia nó và chuyển đổi nó thành số nguyên một lần nữa:galaxyan

Điều này sẽ cung cấp cho bạn một touple mà bạn có thể sử dụng sau này. Bạn có thể tối ưu hóa điều này bằng cách sử dụng danh sách hiểu.2 gold badges18 silver badges41 bronze badges

2

Có vẻ như mô hình hoạt động hiện có trong vấn đề này là chia mỗi giá trị chuỗi làm đôi.

Đã trả lời ngày 12 tháng 10 năm 2017 lúc 14:59

>>> s = str[20670005000000]
>>> l = int[len[s]/2]
>>> a,b = s[:l],s[l:]
>>> int[a]
=>  2067000   
>>> int[b]
=>  5000000

67.5K7 Huy hiệu vàng58 Huy hiệu bạc100 Huy hiệu đồng

for ele in map[str,arr]: 
   l = int[ len[ele]/2 ] 
   a,b = ele[:l], ele[l:]

   print[int[a], int[b]] 

Bạn có thể ánh xạ Int sang str, sau đó chia nó. Hãy nhớ chuyển đổi nó trở lại int

2067000  5000000
3000338  7889032
4455500  8000004
0

GalaxyangalaxyanOct 12, 2017 at 14:58

5.7082 Huy hiệu vàng18 Huy hiệu bạc41 Huy hiệu đồngKaushik NP

Giả sử số phải được chia chính xác tại

2067000  5000000
3000338  7889032
4455500  8000004
2 mỗi lần, chúng ta có thể sử dụng
2067000  5000000
3000338  7889032
4455500  8000004
3 và
2067000  5000000
3000338  7889032
4455500  8000004
4 của nó để có được hai số.8 gold badges30 silver badges59 bronze badges

Làm với số duy nhất ở đây:

2067000  5000000
3000338  7889032
4455500  8000004
1

Ở đây, cho danh sách các số:Oct 12, 2017 at 15:30

# Giá trị trình điều khiểnwwii

Đã trả lời ngày 12 tháng 10 năm 2017 lúc 14:587 gold badges36 silver badges75 bronze badges

Làm thế nào để bạn chia một số thành hai trong Python?

Sử dụng phương thức math.modf [] để chia một số thành các phần số nguyên và thập phân, ví dụ: kết quả = toán học. modf [my_num]. modf[] method to split a number into integer and decimal parts, e.g. result = math. modf[my_num] .

Làm thế nào để bạn chia một số trong một nửa trong Python?

Sử dụng ký hiệu lát cắt, chúng ta có thể chia các chuỗi thành hai nửa bằng cách sử dụng hàm tạo lát []. Chúng tôi tách biệt nửa đầu và nửa sau của chuỗi và sau đó lưu các nửa này trong các biến khác nhau. We can split the strings into two halves by using the slice [] constructor. We separate the first half and second half of the string and then save these halves in different variables.

Làm thế nào để bạn chia một số thành hai phần?

Chia một số thành hai phần ..
Phân vùng một số thành hai phần chia rẽ ..
Phân vùng đã cho chuỗi theo cách sao cho tôi là SUBSTRING là tổng của [i-1] 'và [i-2]' thứ phụ ..
Phá vỡ một số sao cho phần đầu tiên là phân chia tích hợp thứ hai bởi sức mạnh 10 ..
Chia một chuỗi trong n phần bằng nhau ..

Làm thế nào để bạn chia một số vào một danh sách trong Python?

Nếu bạn cần chia một chuỗi trên mỗi chữ số, hãy sử dụng danh sách hiểu ...
Sử dụng str.phương thức chia [] để chia chuỗi thành một danh sách các chuỗi ..
Sử dụng hàm map [] để chuyển đổi từng chuỗi thành một số nguyên ..
Sử dụng lớp Danh sách [] để chuyển đổi đối tượng MAP thành danh sách ..

Bài Viết Liên Quan

Chủ Đề