Hướng dẫn how do you combine two letters in python? - làm thế nào để bạn kết hợp hai chữ cái trong python?

Tôi đã nhận được nhiệm vụ để kết hợp xen kẽ các chữ cái của hai chuỗi có cùng chiều dài.

Ví dụ:

Inputstring 1: "acegi"

Inputstring 2: "bdfhj"

Outputstring: "abcdefghij"

Và tôi đã gặp vấn đề sau khi tôi chạy mã của mình.

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int

Tôi nghĩ rằng mọi biến có liên quan là

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
7.

s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)

Hướng dẫn how do you combine two letters in python? - làm thế nào để bạn kết hợp hai chữ cái trong python?

hỏi ngày 23 tháng 1 năm 2018 lúc 14:10Jan 23, 2018 at 14:10

Hướng dẫn how do you combine two letters in python? - làm thế nào để bạn kết hợp hai chữ cái trong python?

9

Bạn có thể làm điều đó trong một dòng bằng cách sử dụng

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
8 và
Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
9.

out1 = ''.join(''.join(f for f in tup) for tup in zip(inp1, inp2))

hoặc kiểu chức năng hơn: the more functional-style:

out1 = ''.join(map(''.join, zip(inp1, inp2)))  # kudos @Coldspeed

mà cả hai in

abcdefghij

Phanh mã xuống:

  • s=str(input("Input first String:"))
    v=str(input("Input second String:"))
    x=""
    c=1
    z=""
    f=""
    laenge=len(s)
    lenge=len(v)
    
    for f in range(laenge):
    
        if f in range(c,c+1):
            x =x+f
    for z in range(lenge):
    
        if z in range(c,c+1):
            x=x+z
    c=c+1
    
    print(x)
    
    0

    pairs = list(zip(inp1, inp2))
    print(pairs )  # [('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h'), ('i', 'j')]
    
  • s=str(input("Input first String:"))
    v=str(input("Input second String:"))
    x=""
    c=1
    z=""
    f=""
    laenge=len(s)
    lenge=len(v)
    
    for f in range(laenge):
    
        if f in range(c,c+1):
            x =x+f
    for z in range(lenge):
    
        if z in range(c,c+1):
            x=x+z
    c=c+1
    
    print(x)
    
    1

    temp = []
    for sub in pairs:
        temp.append(''.join(sub))
    print(temp)  # ['ab', 'cd', 'ef', 'gh', 'ij']
    
  • s=str(input("Input first String:"))
    v=str(input("Input second String:"))
    x=""
    c=1
    z=""
    f=""
    laenge=len(s)
    lenge=len(v)
    
    for f in range(laenge):
    
        if f in range(c,c+1):
            x =x+f
    for z in range(lenge):
    
        if z in range(c,c+1):
            x=x+z
    c=c+1
    
    print(x)
    
    1 một lần nữa

    out1 = ''.join(temp)
    print(out1)  # abcdefghij
    

Cuối cùng, và chỉ để giải trí và học tập của bạn, hai cách tiếp cận khác, trường học cũ hơn:

out1 = ''
for i in range(len(inp1)):
    out1 += inp1[i] + inp2[i]

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
0

Đã trả lời ngày 23 tháng 1 năm 2018 lúc 14:27Jan 23, 2018 at 14:27

Hướng dẫn how do you combine two letters in python? - làm thế nào để bạn kết hợp hai chữ cái trong python?

0

Một trong những điều đầu tiên bạn nên học khi lập trình là sử dụng tên biến có ý nghĩa, không phải là khó hiểu, tên 1 chữ cái.

Mã của bạn không xen kẽ giữa hai chuỗi đầu vào. Bạn đang lặp qua chuỗi đầu tiên, sau đó lặp qua chuỗi thứ hai và không bao giờ lặp lại.

Tôi không chắc điểm của biến

s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
3 là gì. Bạn đặt nó thành
s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
4 khi bắt đầu tập lệnh, sau đó thêm 1 vào sau, nhưng sau đó tập lệnh kết thúc. Có phải có một vòng lặp khác xung quanh tất cả các mã đó?

Vòng lặp kiểm tra xem

s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
5 có ở trong
s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
6 chỉ có thể là
s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
7, không có điểm nào để lặp.

Lỗi đến từ

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
1

Bởi vì

s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
8 là một chuỗi và
s=str(input("Input first String:"))
v=str(input("Input second String:"))
x=""
c=1
z=""
f=""
laenge=len(s)
lenge=len(v)

for f in range(laenge):

    if f in range(c,c+1):
        x =x+f
for z in range(lenge):

    if z in range(c,c+1):
        x=x+z
c=c+1

print(x)
5 là
out1 = ''.join(''.join(f for f in tup) for tup in zip(inp1, inp2))
0. Tôi nghi ngờ bạn muốn làm
out1 = ''.join(''.join(f for f in tup) for tup in zip(inp1, inp2))
1.

Toàn bộ điều có thể được đơn giản hóa rất nhiều.

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
2

Đã trả lời ngày 23 tháng 1 năm 2018 lúc 14:25Jan 23, 2018 at 14:25

BarmarbarmarBarmar

705K53 Huy hiệu vàng474 Huy hiệu bạc589 Huy hiệu đồng53 gold badges474 silver badges589 bronze badges

4

Người ta có thể chỉ cần sử dụng

out1 = ''.join(''.join(f for f in tup) for tup in zip(inp1, inp2))
2 với
Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
9 để nhận kết quả mong muốn:

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
3

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
8 Không cần thiết ở đây vì 2 chuỗi/danh sách có thể được cung cấp cho
out1 = ''.join(''.join(f for f in tup) for tup in zip(inp1, inp2))
2 có chức năng Lambda có 2 đối số. Ngoài ra, biểu tượng
out1 = ''.join(''.join(f for f in tup) for tup in zip(inp1, inp2))
6 hoạt động để kết hợp 2 chuỗi ở đây.

Đã trả lời ngày 23 tháng 1 năm 2018 lúc 14:49Jan 23, 2018 at 14:49

rnsornsornso

22.7K22 Huy hiệu vàng104 Huy hiệu bạc215 Huy hiệu đồng22 gold badges104 silver badges215 bronze badges

Bạn có một số vấn đề trong mã của bạn. Điều quan trọng nhất là vấn đề đặt tên của bạn. Đặt tên có ý nghĩa cho các biến của bạn.

Bây giờ, với logic. Bạn cần lặp lại thông qua các chuỗi của mình cùng một lúc hoặc sử dụng một chỉ mục cùng một lúc, và không phải là từng chuỗi.iterate through your strings at the same time, or use an index on both at the same time, and not one after the other.

Bạn có thể làm như vậy, cho một cách làm điều này.

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
4

Đã trả lời ngày 23 tháng 1 năm 2018 lúc 14:32Jan 23, 2018 at 14:32

ImcoInsimcoinIMCoins

3.0531 Huy hiệu vàng9 Huy hiệu bạc25 Huy hiệu đồng1 gold badge9 silver badges25 bronze badges

Nhận A và B với đầu vào hoặc tuy nhiên bạn muốn. Không cần phải sao chép điều đó. Điểm là mã.

Traceback (most recent call last):  
  File "...", line 14, in 
    x =x+f
TypeError: must be str, not int
5

Kết quả là:

abcdefghij

Đã trả lời ngày 23 tháng 1 năm 2018 lúc 17:24Jan 23, 2018 at 17:24

GMSGMSgms

3052 Huy hiệu bạc9 Huy hiệu Đồng2 silver badges9 bronze badges

Có một concatenate trong Python?

Concatenating có nghĩa là có được một chuỗi mới chứa cả hai chuỗi gốc.Trong Python, có một vài cách để kết hợp hoặc kết hợp các chuỗi.Chuỗi mới được tạo được gọi là đối tượng chuỗi.Để hợp nhất hai chuỗi vào một đối tượng, bạn có thể sử dụng toán tử +.there are a few ways to concatenate or combine strings. The new string that is created is referred to as a string object. In order to merge two strings into a single object, you may use the + operator.

Biểu tượng kết hợp trong Python là gì?

Concatenation có nghĩa là nối các chuỗi với nhau từ đầu đến cuối để tạo một chuỗi mới.Để nối các chuỗi, chúng tôi sử dụng toán tử +.Hãy nhớ rằng khi chúng ta làm việc với các số, + sẽ là một nhà điều hành để bổ sung, nhưng khi được sử dụng với các chuỗi, nó là một toán tử tham gia.+ operator. Keep in mind that when we work with numbers, + will be an operator for addition, but when used with strings it is a joining operator.

Cách tốt nhất để nối các chuỗi trong Python là gì?

Một trong những phương pháp phổ biến nhất để kết hợp hai chuỗi trong Python (hoặc nhiều hơn) là sử dụng toán tử +.Toán tử +, khi được sử dụng với hai chuỗi, kết hợp các chuỗi với nhau để tạo thành một.using the + operator. The + operator, when used with two strings, concatenates the strings together to form one.