Hướng dẫn reorder the string in python assignment expert - sắp xếp lại chuỗi trong chuyên gia gán python

Sắp xếp lại số trong chuỗi

Đưa ra một chuỗi, hãy viết một chương trình để sắp xếp lại tất cả các số xuất hiện trong chuỗi theo thứ tự giảm. Lưu ý: Sẽ không có bất kỳ số âm hoặc số âm nào có phần thập phân.

Đầu vào sẽ là một dòng duy nhất chứa một chuỗi.

Đầu ra phải là một dòng duy nhất chứa chuỗi sửa đổi với tất cả các số trong chuỗi được đặt hàng lại theo thứ tự giảm.

Ví dụ: nếu chuỗi đã cho là "Tôi 5 tuổi và 11 tháng tuổi", các con số là 5, 11. Mã của bạn nên in câu sau khi đặt lại các con số là "Tôi 11 tuổi và 5 tháng tuổi".

Đầu vào mẫu

Tôi 5 tuổi và 11 tháng tuổi

Đầu ra mẫu

Tôi 11 tuổi và 5 tháng tuổi

Đầu vào mẫu

Python4 Anjali25

Đầu ra mẫu

Tôi 11 tuổi và 5 tháng tuổi

Đầu vào mẫu

1python254

Đầu ra mẫu

254python1

Đầu vào mẫu

Python4 Anjali25

Đầu ra mẫu

Tôi 11 tuổi và 5 tháng tuổi

Sắp xếp lại số trong chuỗi

Đưa ra một chuỗi, hãy viết một chương trình để sắp xếp lại tất cả các số xuất hiện trong chuỗi theo thứ tự giảm. Lưu ý: Sẽ không có bất kỳ số âm hoặc số âm nào có phần thập phân.

Đầu vào

Đầu vào sẽ là một dòng duy nhất chứa một chuỗi.

Đầu ra

Đầu ra phải là một dòng duy nhất chứa chuỗi sửa đổi với tất cả các số trong chuỗi được đặt hàng lại theo thứ tự giảm.

Giải trình

Ví dụ: nếu chuỗi đã cho là "Tôi 5 tuổi và 11 tháng tuổi", các con số là 5, 11. Mã của bạn nên in câu sau khi đặt lại các con số là "Tôi 11 tuổi và 5 tháng tuổi".

Đầu vào mẫu 1

Tôi 5 tuổi và 11 tháng tuổi

Đầu ra mẫu 1

Tôi 11 tuổi và 5 tháng tuổi

Đầu vào mẫu 1

Tôi 5 tuổi và 11 tháng tuổi

Đầu ra mẫu 1

Tôi 11 tuổi và 5 tháng tuổi

6

Tháng 9: = SEP_SIZE Số không gian ..
Learn more.

Làm thế nào để đảo ngược một chuỗi đầu vào trong Python?

Sử dụng phương thức đảo ngược () để đảo ngược một chuỗi trong Python, bạn cũng có thể sử dụng phương thức đảo ngược trong Python trả về một đối tượng đảo ngược hoặc trình lặp của chuỗi đầu vào. Điều duy nhất bạn cần làm là thực hiện một thao tác tham gia bổ sung trên đối tượng đảo ngược kết quả và trả về chuỗi mới.

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.

Sắp xếp lại số trong chuỗi

Đưa ra một chuỗi, hãy viết một chương trình để sắp xếp lại tất cả các số xuất hiện trong chuỗi theo thứ tự giảm. Lưu ý: Sẽ không có bất kỳ số âm hoặc số âm nào có phần thập phân.

Đầu vào

Explanation:

Đầu vào sẽ là một dòng duy nhất chứa một chuỗi.

#Sample Input:
I am 5 years and 11 months old

#Sample Output:
I am 11 years and 5 months old

#Sample input:
I am 28 years 9 months 11 weeks and 55 days old

#Sample output:
I am 55 years 28 months 11 weeks and 9 days old

Đầu ra

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))

Output:

Đầu ra phải là một dòng duy nhất chứa chuỗi sửa đổi với tất cả các số trong chuỗi được đặt hàng lại theo thứ tự giảm.

Ví dụ: nếu chuỗi đã cho là "Tôi 5 tuổi và 11 tháng tuổi", các con số là 5, 11. Mã của bạn nên in câu sau khi đặt lại các con số là "Tôi 11 tuổi và 5 tháng tuổi".

Hướng dẫn reorder the string in python assignment expert - sắp xếp lại chuỗi trong chuyên gia gán python

Cách tiếp cận của tôi:Jul 9, 2021 at 11:12

Hướng dẫn reorder the string in python assignment expert - sắp xếp lại chuỗi trong chuyên gia gán python

1

I am 55 years 28months 11 weeks and 9 days old

Gợi ý: Kiểm tra độ dài của các số của bạn trong văn bản của bạn-bạn có thể không phải lúc nào

"Try 1 or 423 or 849 things."

Và trong trường hợp đó, việc thay thế "char-by-char" của bạn sẽ trở nên khó khăn và bạn mất không gian.

Về cơ bản, bạn thay thế

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
4 bằng một số 2 chữ số (hoặc
def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
5 bằng một chữ số 3 chữ số, v.v. giết chết không gian).


Nó sẽ tốt hơn để

  • Phát hiện tất cả các số
  • sắp xếp các số được phát hiện theo giá trị số nguyên của chúng giảm dần
  • Thay thế tất cả các số được phát hiện trong văn bản của bạn bằng định dạng-placeholder '{}'
  • Sử dụng
    def RearrangeNumbers(source):
        tmp0 = list(source)
        tmp1 = [c if c.isdigit() else ' ' for. 
                 c in tmp0 ]
        tmp2 = "".join(tmp1)
        tmp3 = tmp2.split()
        numbers = []
        for w in tmp3:
            numbers.append(int(w))
        if len(numbers) < 2:
            return source
        numbers.sort(reverse=True)
        result_string = ''
        i = 0
        while i < len(source): 
            c = source[i]
            if not c.isdigit():
                result_string += c
            else:
                result_string += str(numbers[0])
                numbers = numbers[1:]
                i+=1
            i+=1
        return result_string
    
    print(RearrangeNumbers(input()))
    
    6 để thay thế các số theo thứ tự chính xác

như vậy:

def sortNumbers(text):
    # replace all non-digit characters by space, split result
    numbers = ''.join(t if t.isdigit() else ' ' for t in text).split()

    # order descending by integer value
    numbers.sort(key=lambda x:-int(x))  

    # replace all found numbers - do not mess with the original string with 
    # respect to splitting, spaces or anything else - multiple spaces
    # might get reduced to 1 space if you "split()" it.
    for n in numbers:
        text = text.replace(n, "{}")

    return text.format(*numbers)  # put the sorted numbers back into the string

for text in ["I am 5 years and 11 months old",
            "I am 28 years 9 months 11 weeks and 55 days old",
            "What is 5 less then 45?",
            "At 49th Street it is 500.", "It is $23 and 45."]:

    print(sortNumbers(text))

Output:

I am 11 years and 5 months old
I am 55 years 28 months 11 weeks and 9 days old
What is 45 less then 5?
At 500th Street it is 49.
It is $45 and 23.

Đã trả lời ngày 9 tháng 7 năm 2021 lúc 11:36Jul 9, 2021 at 11:36

Hướng dẫn reorder the string in python assignment expert - sắp xếp lại chuỗi trong chuyên gia gán python

Patrick Artnerpatrick ArtnerPatrick Artner

49.3k8 Huy hiệu vàng45 Huy hiệu bạc67 Huy hiệu Đồng8 gold badges45 silver badges67 bronze badges

1

Bạn có thể sử dụng một biểu thức thông thường để tìm tất cả các số:

import re
inp = 'I am 28 years 9 months 11 weeks and 55 days old'
numbers = tuple(sorted(map(int, re.findall(r'([\d]+)', inp)), reverse=True)) # find all numbers, converts each number to int, sort them and convert to tuple
inpPlaceholders = re.sub(r'([\d]+)', '%s', inp) # replace all numbers in the string to %s placeholders
print(inpPlaceholders % numbers) # rebuild the string, using %s string formatting

Out:

I am 55 years 28 months 11 weeks and 9 days old

Đã trả lời ngày 9 tháng 7 năm 2021 lúc 11:36Jul 9, 2021 at 11:36

Hướng dẫn reorder the string in python assignment expert - sắp xếp lại chuỗi trong chuyên gia gán python

Patrick Artnerpatrick ArtnerMaurice Meyer

49.3k8 Huy hiệu vàng45 Huy hiệu bạc67 Huy hiệu Đồng3 gold badges25 silver badges44 bronze badges

Bạn có thể thử điều này:

def RearrangeNumbers(source):
    tmp0=source.split()
    int_l=[]
    for j,i in enumerate(tmp0):
      try:
        tmp0[j]=int(i)
        int_l.append(int(i))
      except ValueError:
        pass
    int_l.sort()
    for j,i in enumerate(tmp0):
      if isinstance(i,int):
        tmp0[j]=str(int_l[0])
        int_l.pop(0)
    return ' '.join(tmp0)

print(RearrangeNumbers(input()))

Chạy mẫu.

I am 28 years 9 months 11 weeks and 55 days old
I am 9 years 11 months 28 weeks and 55 days old

Đã trả lời ngày 9 tháng 7 năm 2021 lúc 11:39Jul 9, 2021 at 11:39

Bạn có thể sử dụng String.Split () và Danh sách hiểu. Để điền vào chuỗi mới, bạn có thể chuyển đổi danh sách các số được sắp xếp trong trình lặp:

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
0

Đã trả lời ngày 9 tháng 7 năm 2021 lúc 12:15Jul 9, 2021 at 12:15

frabfrabfrab

1.1231 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng1 gold badge3 silver badges13 bronze badges

Bạn có thể sử dụng

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
7 và
def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
8:

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
1

Output:

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
2

Đã trả lời ngày 9 tháng 7 năm 2021 lúc 16:00Jul 9, 2021 at 16:00

Hướng dẫn reorder the string in python assignment expert - sắp xếp lại chuỗi trong chuyên gia gán python

Ajax1234Ajax1234Ajax1234

67.6K7 Huy hiệu vàng58 Huy hiệu bạc100 Huy hiệu đồng7 gold badges58 silver badges100 bronze badges

Mã này dài và chỉ dành cho người mới bắt đầu, những người chỉ bắt đầu mã hóa và bị mắc kẹt tại một số điểm và không thể giải quyết vấn đề nhưng cần phải hoàn thành nó.

def RearrangeNumbers(source):
    tmp0 = list(source)
    tmp1 = [c if c.isdigit() else ' ' for. 
             c in tmp0 ]
    tmp2 = "".join(tmp1)
    tmp3 = tmp2.split()
    numbers = []
    for w in tmp3:
        numbers.append(int(w))
    if len(numbers) < 2:
        return source
    numbers.sort(reverse=True)
    result_string = ''
    i = 0
    while i < len(source): 
        c = source[i]
        if not c.isdigit():
            result_string += c
        else:
            result_string += str(numbers[0])
            numbers = numbers[1:]
            i+=1
        i+=1
    return result_string

print(RearrangeNumbers(input()))
3

Đã trả lời ngày 30 tháng 5 lúc 20:06May 30 at 20:06

Làm thế nào để bạn sắp xếp lại số trong một chuỗi trong Python?

6 câu trả lời..
Phát hiện tất cả các số ..
Sắp xếp các số được phát hiện theo giá trị số nguyên của chúng giảm dần ..
Thay thế tất cả các số được phát hiện trong văn bản của bạn bằng định dạng-placeholder '{}'.
Sử dụng String.Formt () để thay thế các số theo thứ tự chính xác ..

Làm thế nào để bạn sắp xếp lại các từ trong Python?

Khoa học dữ liệu thực tế sử dụng Python..
Res: = Chuỗi trống ..
TOTAL_SP: = Số lượng không gian trong S ..
SUSF_SP_CNT: = TOTAL_SP ..
text_array: = một danh sách các từ từ s ..
num_words: = kích thước của text_array ..
Nếu num_words giống như 1, thì.....
sep_size: = thương số của Total_SP /(num_words - 1).
Tháng 9: = SEP_SIZE Số không gian ..

Làm thế nào để đảo ngược một chuỗi đầu vào trong Python?

Sử dụng phương thức đảo ngược () để đảo ngược một chuỗi trong Python, bạn cũng có thể sử dụng phương thức đảo ngược trong Python trả về một đối tượng đảo ngược hoặc trình lặp của chuỗi đầu vào.Điều duy nhất bạn cần làm là thực hiện một thao tác tham gia bổ sung trên đối tượng đảo ngược kết quả và trả về chuỗi mới. to Reverse a String in Python You can also use the reversed method in Python which returns a reversed object or iterator of the input string. The only thing you need to do is to perform an additional join operation on the resultant reversed object and return the new string.