15 Show 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.
Trên đây là mã mà tôi đã sử dụng và vấn đề là nó chỉ trả về chữ số đầu tiên của chuỗi. Đối với điều này, tôi phải giữ cả hai cho câu lệnh Loop và Return. Có ai biết cách sửa chữa không? Thanks.
Hỏi ngày 17 tháng 8 năm 2012 lúc 12:12Aug 17, 2012 at 12:12
2 Như những người khác đã nói, bạn có một vấn đề ngữ nghĩa về thụt lề của mình, nhưng bạn không cần phải viết chức năng đó để làm điều đó, một cách pythonic hơn để làm điều đó là:
Trên thông dịch viên:
Vài lời khuyênLuôn tự kiểm tra mọi thứ khi mọi người hiển thị các phương pháp 'nhanh hơn':
Đã trả lời ngày 17 tháng 8 năm 2012 lúc 12:19Aug 17, 2012 at 12:19
TarantulatarantulaTarantula 18.3K12 Huy hiệu vàng53 Huy hiệu bạc71 Huy hiệu đồng12 gold badges53 silver badges71 bronze badges 1
Căn cứ của bạn là một chút borked (thụt vào trong Python là khá quan trọng). Tốt hơn:
Một giải pháp ngắn hơn và nhanh hơn bằng cách sử dụng các biểu thức máy phát:
LVC 33.3k9 Huy hiệu vàng69 Huy hiệu bạc96 Huy hiệu Đồng9 gold badges69 silver badges96 bronze badges Đã trả lời ngày 17 tháng 8 năm 2012 lúc 12:16Aug 17, 2012 at 12:16
Benjamin Wohlwendbenjamin WohlwendBenjamin Wohlwend 30.1k11 Huy hiệu vàng86 Huy hiệu bạc99 Huy hiệu Đồng11 gold badges86 silver badges99 bronze badges 5 Đó là bởi vì câu lệnh 4 của bạn nằm trong vòng lặp For, vì vậy nó trở lại sau điều kiện 5 đầu tiên và dừng.
Đã trả lời ngày 17 tháng 8 năm 2012 lúc 12:15Aug 17, 2012 at 12:15
Ashwini Chaudharyashwini ChaudharyAshwini Chaudhary 237K56 Huy hiệu vàng447 Huy hiệu bạc497 Huy hiệu đồng56 gold badges447 silver badges497 bronze badges Tất nhiên nó chỉ trả về chữ số đầu tiên, bạn nói rõ ràng rằng Python sẽ quay lại ngay khi bạn có một chữ số. Thay đổi thụt lề của câu lệnh 4 và nó sẽ hoạt động:
Đã trả lời ngày 17 tháng 8 năm 2012 lúc 12:16Aug 17, 2012 at 12:16
Benjamin Wohlwendbenjamin Wohlwend
30.1k11 Huy hiệu vàng86 Huy hiệu bạc99 Huy hiệu Đồng
Đó là bởi vì câu lệnh 4 của bạn nằm trong vòng lặp For, vì vậy nó trở lại sau điều kiện 5 đầu tiên và dừng. 0Đã trả lời ngày 17 tháng 8 năm 2012 lúc 12:15Aug 17, 2012 at 12:15
Ashwini Chaudharyashwini ChaudharyDhruvPathak 237K56 Huy hiệu vàng447 Huy hiệu bạc497 Huy hiệu đồng15 gold badges113 silver badges172 bronze badges Tất nhiên nó chỉ trả về chữ số đầu tiên, bạn nói rõ ràng rằng Python sẽ quay lại ngay khi bạn có một chữ số. 1Thay đổi thụt lề của câu lệnh 4 và nó sẽ hoạt động: 2yields: 3Explanation: Có một vấn đề thụt lề trả về khi tìm thấy chữ số đầu tiên, như với thụt dòng hiện tại, nó được coi là một tuyên bố bên trong câu lệnh 5, nó cần phải song song với câu lệnh 8 để được xem xét bên ngoài câu lệnh 8.Một niềng răng xoăn tương đương với mã không chính xác của bạn là: Đã trả lời ngày 17 tháng 8 năm 2012 lúc 12:15Aug 17, 2012 at 12:15
Ashwini Chaudharyashwini ChaudharyLevon 237K56 Huy hiệu vàng447 Huy hiệu bạc497 Huy hiệu đồng33 gold badges198 silver badges187 bronze badges Làm thế nào để bạn tìm thấy một chữ số trong một chuỗi?Để tìm một chuỗi đã cho có chứa một số, hãy chuyển đổi nó thành một mảng ký tự và tìm xem mỗi ký tự trong mảng có phải là một chữ số bằng phương thức isDigit () của lớp ký tự hay không.convert it to a character array and find whether each character in the array is a digit using the isDigit() method of the Character class.
Isdigit () có phải là một hàm trong Python không?Giá trị trả về của hàm isDigit () trong Python Hàm này trả về giá trị boolean dựa trên tình huống.isDigit () trả về true nếu tất cả các ký tự chuỗi là chữ số.Nếu không nó trả về sai.Nếu chuỗi trống, điều đó có nghĩa là chuỗi không có chữ số bên trong nó, vì vậy nó cũng sẽ trả về sai.This function returns the boolean value based on the situation. isDigit() returns True if all the string characters are digits. Else it returns False. If the string is empty, it means that string has no digit inside it, so it will also return False. |