Đã hỏi 4 năm, 1 tháng trước 4 years, 1 month ago
Đã xem 13k lần 13k times
Vì vậy, câu hỏi của tôi là, tôi có một nhiệm vụ cần được giải quyết.
Tôi có một chức năng đơn giản:
def multiplicator[x, y]:
var1 = x * y
return var1
Tôi cần sử dụng bộ nhân này để có được kết quả này trong một chức năng khác:
Enter: "5435843398429829" output: "****************9829"
4 chữ số cuối cùng trong đầu vào không nên được che dấu, nhưng phần còn lại nên được che dấu bằng "#".
Hỏi ngày 19 tháng 9 năm 2018 lúc 14:21Sep 19, 2018 at 14:21
6
Hãy để chúng tôi lưu trữ số đó bạn muốn che giấu trong một biến gọi là Masked.
unmasked = str[unmasked]
masked = len[unmasked[:-4]]*"#"+unmasked[-4:]
Tôi mong cái này sẽ thành công.
Đã trả lời ngày 19 tháng 9 năm 2018 lúc 14:26Sep 19, 2018 at 14:26
PrometheusprometheusPrometheus
5986 Huy hiệu bạc23 Huy hiệu Đồng6 silver badges23 bronze badges
5
Chỉ cần thực hiện điều này, vì vậy tôi nghĩ rằng tôi sẽ bỏ cái này ở đây:
Đối với Python> = 3.6 [sử dụng F-Strings]
from math import ceil
def mask_string[s, perc=0.6]:
mask_chars = ceil[len[s] * perc]
return f'{"*" * mask_chars}{s[mask_chars:]}'
Đã trả lời ngày 16 tháng 8 năm 2019 lúc 5:13Aug 16, 2019 at 5:13
Monkutmonkutmonkut
40.5K23 Huy hiệu vàng120 Huy hiệu bạc149 Huy hiệu đồng23 gold badges120 silver badges149 bronze badges
Giải pháp tốt của Vengat, và điều này cũng hoạt động với rjust
.
def multiplicator[x, y]:
var1 = str[x * y]
#################
# masking
#################
masked = var1[-4:].rjust[len[var1],"#"]
return masked
Mà không che giấu chức năng
def multiplicator[x, y]:
return x * y
def masker[n]:
var1 = str[n]
masked = var1[-4:].rjust[len[var1],"#"]
return masked
Đã trả lời ngày 19 tháng 9 năm 2018 lúc 14:37Sep 19, 2018 at 14:37
Jkhadkajkhadkajkhadka
2.2537 Huy hiệu vàng32 Huy hiệu bạc54 Huy hiệu đồng7 gold badges32 silver badges54 bronze badges
2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 20
Enter: "5435843398429829" output: "****************9829"
0 Python Basic - 1: Tập thể dục -90 với giải pháp
Viết một chương trình Python để thay thế tất cả trừ năm ký tự cuối cùng của một chuỗi đã cho bằng "*" và trả về chuỗi mới.
Giải pháp mẫu::
Mã Python:
def new_string[str1]:
return '*'*[len[str1]-5] + str1[-5:]
text = "kdi39323swe"
print["Original String: ",text]
print["new string: ",new_string[text]]
text = "12345abcdef"
print["\nOriginal String: ",text]
print["new string: ",new_string[text]]
text = "12345"
print["\nOriginal String: ",text]
print["new string: ",new_string[text]]
Đầu ra mẫu:
Original String: kdi39323swe new string: ******23swe Original String: 12345abcdef new string: ******bcdef Original String: 12345 new string: 12345
Trình bày bằng hình ảnh:
Flowchart:
Trình chỉnh sửa mã Python:
Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn [và nhận xét] thông qua Disqus.
Trước đây: Viết chương trình Python để tính tổng của ba số dương thấp nhất từ một danh sách số nhất định. Write a Python program to compute the sum of the three lowest positive numbers from a given list of numbers.
Next: Write a Python program to count the number of arguments in a given function.
Python: Lời khuyên trong ngày
Tạo kết quả tích lũy của Itable ANITE ANITY:
________số 8