Tôi nghĩ rằng dòng mã này sẽ được chạy bất cứ khi nào câu lệnh if là True. Tại sao tôi cần một số nguyên trong điều kiện của tôi?
#function chấp nhận một chuỗi và tính số chữ hoa và chữ thường
def case_count(str):
tổng_cap_case = 0
tổng_thấp_trường hợp = 0
cho các từ trong str:
if str[words].isupper():
tổng_cap_trường hợp += 1
Elif Words.iswer():
tổng_thấp_trường hợp += 1
khác:
vượt qua
in(total_cap_case)
in(total_low_cases)
str = "Có bao nhiêu chữ hoa và chữ thường trong câu NÀY?"
trường hợp_count(str)
Khi tôi chạy mã này:
s = "abc"
cho các từ trong s:
in (chữ)
Tôi nhận được kết quả này:
$pythontest.py
Một
b
c
Điều này là do cho biến trong chuỗi:
Không có chỉ mục số nguyên nào được tạo. Thay vào đó, nó chuyển đổi từng phần của chuỗitính cáchđược giao chobiến,
Mỗi lần một cái.
Khi bạn làm điều đó trên các từ trong str:
Khi vận hành, bạn thực sự xử lý str
một nhân vật. Tốt nhất bạn nên viết nó như thế này:
cho ký tự trong str:
nếu character.isupper():
tot_cap_case += 1
nhân vật Elif.islow():
tot_low_case += 1
khác:
tot_non_case += 1
(Ngoài ra, cần chỉ ra rằng trong thế giới unicode, bạn không thể đơn giản cho rằng bất kỳ ký tự nào không viết hoa đều phải viết thường. Theo trang Câu hỏi thường gặp về Unicode này Hầu hết các kịch bản đều không có trường hợp nào cả. )
Tôi là một lập trình viên xuất sắc, rất giỏi!