Hướng dẫn how do you count the number of characters in a string loop in python? - làm thế nào để bạn đếm số ký tự trong một vòng lặp chuỗi trong python?

Tôi chỉ đang học Python và tôi đã gặp một vấn đề đòi hỏi tôi phải đặt một chuỗi làm đầu vào trong "hàm số chữ số của tôi."

Hàm được cho là đếm số lượng

for char in a:
    if char == 'a':
        count+=1
    print count
4 trong một từ được đưa ra [cụ thể là một loại trái cây được nhập bởi người dùng].

Giá trị cuối cùng là chính xác, nhưng trong chức năng của tôi, nó liệt kê cho tôi các chương trình "quy trình" nếu bạn sẽ liệt kê có bao nhiêu

for char in a:
    if char == 'a':
        count+=1
    print count
4 ở mỗi chỉ mục và thêm mọi thứ trước đó.

Tôi chỉ muốn một giá trị cuối cùng, không phải là một danh sách.

Nếu tôi không quá rõ ràng, đây là chương trình của tôi và kiểm tra nó cho chính mình để xem ý tôi là gì, và có thể giúp tôi đến với một giải pháp?

def count_letters[a]:
    count=0
    for char in a:
        if char == 'a':
            count+=1
        print count

a=raw_input["Name a fruit and I will tell you how many letters are in it." + '\n']
print count_letters[a]

dot.Py

4.8814 Huy hiệu vàng28 Huy hiệu bạc51 Huy hiệu Đồng4 gold badges28 silver badges51 bronze badges

Đã hỏi ngày 30 tháng 3 năm 2017 lúc 14:18Mar 30, 2017 at 14:18

3

Chỉ là sự thay đổi:

for char in a:
    if char == 'a':
        count+=1
    print count

To:

for char in a:
    if char == 'a':
        count+=1
print count

Nếu không, bạn sẽ in quầy mỗi lần chạy vòng.

Ngoài ra, bạn đang gọi chức năng của mình với in tại

for char in a:
    if char == 'a':
        count+=1
    print count
6.

Bạn không cần điều này vì bạn đã đặt một câu lệnh in ở dòng cuối cùng trong mã của bạn. Nếu bạn rời khỏi câu lệnh

for char in a:
    if char == 'a':
        count+=1
    print count
7 ở đó để gọi chức năng của bạn, nó sẽ in
for char in a:
    if char == 'a':
        count+=1
    print count
8, vì hàm đã trả lại giá trị đếm.

Vì vậy, bạn cũng có thể thay đổi:

print count_letters[a]

To:

count_letters[a]

Ví dụ đầu ra với

for char in a:
    if char == 'a':
        count+=1
    print count
6:

Name a fruit and I will tell you how many letters are in it. abacaxi 
3
None

Ví dụ đầu ra với

for char in a:
    if char == 'a':
        count+=1
print count
0:

Name a fruit and I will tell you how many letters are in it. abacaxi 
3

Đã trả lời ngày 30 tháng 3 năm 2017 lúc 14:22Mar 30, 2017 at 14:22

dot.Pydot.Pydot.Py

4.8814 Huy hiệu vàng28 Huy hiệu bạc51 Huy hiệu Đồng4 gold badges28 silver badges51 bronze badges

Đã hỏi ngày 30 tháng 3 năm 2017 lúc 14:18

def count_a[fruit_name]:
    return sum[1 for char in fruit_name if char == 'a']

Chỉ là sự thay đổi:

Nếu không, bạn sẽ in quầy mỗi lần chạy vòng.

return fruit_name.count['a']

Ngoài ra, bạn đang gọi chức năng của mình với in tại

for char in a:
    if char == 'a':
        count+=1
    print count
6.Mar 31, 2017 at 7:57

Bạn không cần điều này vì bạn đã đặt một câu lệnh in ở dòng cuối cùng trong mã của bạn. Nếu bạn rời khỏi câu lệnh

for char in a:
    if char == 'a':
        count+=1
    print count
7 ở đó để gọi chức năng của bạn, nó sẽ in
for char in a:
    if char == 'a':
        count+=1
    print count
8, vì hàm đã trả lại giá trị đếm.Eric Duminil

Vì vậy, bạn cũng có thể thay đổi:8 gold badges66 silver badges118 bronze badges

Ví dụ đầu ra với

for char in a:
    if char == 'a':
        count+=1
    print count
6:

Ví dụ đầu ra với

for char in a:
    if char == 'a':
        count+=1
print count
0:Aug 8, 2017 at 16:26

Đã trả lời ngày 30 tháng 3 năm 2017 lúc 14:22DrJessop

Nếu bạn muốn giữ một cấu trúc tương tự và tự tính toán đếm, bạn có thể sử dụng:5 silver badges25 bronze badges

Nó ngắn hơn, nó là Pythonic hơn, nó không phải là một cuộc gọi phương thức tiêu chuẩn, nó trả về một số nguyên thay vì chỉ in nó và các tên biến có thể rõ ràng hơn một chút.

def count_letters[a]:
    count=0
    for char in a:
        if char == 'a':
        count+=1
    print count

Nếu bạn không ngại sử dụng phương pháp Python hiện có, bạn có thể sử dụng:

Đã trả lời ngày 30 tháng 3 năm 2017 lúc 14:22Mar 30, 2017 at 14:22

Nếu bạn muốn giữ một cấu trúc tương tự và tự tính toán đếm, bạn có thể sử dụng:

for char in a:
    if char == 'a':
        count+=1
    print count
0

Nó ngắn hơn, nó là Pythonic hơn, nó không phải là một cuộc gọi phương thức tiêu chuẩn, nó trả về một số nguyên thay vì chỉ in nó và các tên biến có thể rõ ràng hơn một chút.

for char in a:
    if char == 'a':
        count+=1
    print count
1

Nếu bạn không ngại sử dụng phương pháp Python hiện có, bạn có thể sử dụng:Mar 30, 2017 at 14:25

Đã trả lời ngày 31 tháng 3 năm 2017 lúc 7:57mikuszefski

Eric Duminileric Duminil1 gold badge24 silver badges37 bronze badges

0

51.4K8 Huy hiệu vàng66 Huy hiệu bạc118 Huy hiệu đồng

Có vẻ như bạn không hiểu sự khác biệt giữa in và trở lại. Những gì bạn đang làm là in mỗi lần xuất hiện trong vòng lặp, khi những gì bạn muốn là giá trị cuối cùng ở cuối. Những gì bạn sẽ phải làm là giữ cùng một mã, ngoại trừ khi vòng lặp chấm dứt, bạn muốn trả về bất kỳ giá trị nào ở cuối. Vì vậy, hãy loại bỏ số lượng in, và loại bỏ vết lõm. Sau đó, bạn phải trả lại số lượng. Bạn không muốn quay lại trong vòng lặp, bởi vì điều này sẽ trả về giá trị đầu tiên của đếm sau khi một ký tự duy nhất được kiểm tra. Nhắn tin cho tôi để biết thêm câu hỏi nếu bạn có bất kỳ.

for char in a:
    if char == 'a':
        count+=1
    print count
2

Đã trả lời ngày 8 tháng 8 năm 2017 lúc 16:26

Drjessopdrjessop9 gold badges28 silver badges47 bronze badges

4525 Huy hiệu bạc25 Huy hiệu ĐồngMay 6, 2018 at 10:38

Bạn chỉ cần đặt chức năng in trong vòng lặp. Khay này:

for char in a:
    if char == 'a':
        count+=1
    print count
3

Thụt lề rất quan trọng trong Python

Một thay đổi đơn giản làm cho nó hoạt động. Chỉ cần thay thế

for char in a:
    if char == 'a':
        count+=1
    print count
7 bằng
for char in a:
    if char == 'a':
        count+=1
print count
2 và loại bỏ một cấp độ thụt để lấy nó của vòng lặp.12 gold badges69 silver badges109 bronze badges

Nhìn chung, nó được coi là Pythonic hơn để tránh các vòng

for char in a:
    if char == 'a':
        count+=1
print count
3. Mặc dù không phải là giải pháp ngắn nhất [xem Bình luận của Eric Duminil] về vấn đề của bạn, điều này có thể đưa ra ý tưởng làm thế nào để sử dụng danh sách hiểu biết thay thế: thay vào đó:Jan 30, 2019 at 10:46

Làm cách nào để đếm số lượng ký tự trong một chuỗi trong Python?

Trong Python, bạn có thể có độ dài của chuỗi str [= số lượng ký tự] với hàm tích hợp len [].with the built-in function len[] .

Làm thế nào để bạn đếm các ký tự trong một chuỗi?

Algorithm..
Xác định một chuỗi ..
Xác định và khởi tạo số lượng biến thành 0 ..
Lặp lại qua chuỗi cho đến khi kết thúc và cho mỗi ký tự ngoại trừ khoảng trắng, tăng số lượng 1 ..
Để tránh đếm các khoảng trống, hãy kiểm tra điều kiện tức là chuỗi [i]! = '' ..

Làm thế nào để bạn đếm số lượng vật phẩm trong một vòng lặp trong Python?

Sử dụng cho vòng lặp để có được số lượng các phần tử trong danh sách, bạn sẽ lặp lại danh sách và tăng biến bộ đếm trong mỗi lần lặp.Khi lần lặp kết thúc, bạn sẽ trả về biến đếm, có tổng số phần tử trong danh sách.iterate over the list and increment the counter variable during each iteration. Once the iteration is over, you'll return the count variable, which has the total number of elements in the list.

Làm thế nào để bạn đếm các từ trong một vòng lặp python?

Chương trình để đếm tổng số từ sử dụng trong khi vòng lặp..
Khai báo và khởi tạo một biến số nguyên là tot = 1, i = 0 ;.
Người dùng yêu cầu nhập một chuỗi để đếm các từ ..
Một vòng trong khi được sử dụng để đếm tổng số từ của chuỗi đã cho ..

Bài Viết Liên Quan

Chủ Đề