MacDonald cũ: Viết một hàm viết hoa chữ cái đầu tiên và thứ tư của một tên
Tôi đang cố gắng viết điều này theo những cách khác nhau và tôi cũng cảm thấy như có một cách dễ dàng hơn để làm điều này. Không thể, bạn trực tiếp áp dụng nó mà không nhận được tất cả các từ khác của một chuỗi? Hoặc một sự chia rẽ hoặc một cái gì đó?
Đây là một trong những nỗ lực của tôi trong việc thử nó một cách khác. Tôi đang cố gắng làm điều đó với một tuyên bố
def old_macdonald[name]:
mylist = list[name]
mylist[0] = mylist[0].upper[]
mylist[3] = mylist[3].upper[]
return ''.join[mylist]
2 và def old_macdonald[name]:
mylist = list[name]
mylist[0] = mylist[0].upper[]
mylist[3] = mylist[3].upper[]
return ''.join[mylist]
3. Bất kỳ sự giúp đỡ được đánh giá cao.def old_macdonald[words]:
wordletter = words[0]
fourthletter = words[3]
newword = []
for i,l in enumerate[words]:
if i[0]:
newword = l.capatalize
return newword
if i[3]:
newword = l.capatalize
return newword
Gino Mempin
21K24 Huy hiệu vàng86 Huy hiệu bạc114 Huy hiệu đồng24 gold badges86 silver badges114 bronze badges
Hỏi ngày 8 tháng 9 năm 2019 lúc 19:00Sep 8, 2019 at 19:00
1
Đây là cách dễ đọc nhất IMO
def old_macdonald[name]:
mylist = list[name]
mylist[0] = mylist[0].upper[]
mylist[3] = mylist[3].upper[]
return ''.join[mylist]
Đã trả lời ngày 7 tháng 1 năm 2021 lúc 12:45Jan 7, 2021 at 12:45
def old_macdonald[name]:
letters = list[name]
for index in range[len[name]]:
if index == 0:
letters[index] = letters[index].upper[]
elif index == 3:
letters[index] = letters[index].upper[]
return "".join[letters]
Cái này làm việc cho tôi
Ggorlen
36,9K7 Huy hiệu vàng61 Huy hiệu bạc77 Huy hiệu đồng7 gold badges61 silver badges77 bronze badges
Đã trả lời ngày 17 tháng 9 năm 2020 lúc 6:23Sep 17, 2020 at 6:23
1
Mã này sẽ làm cho phần tử đầu tiên và từ của Capital String Capital.
def cap[name]:
first = name[0]
mid = name[1:3]
second = name[3]
rest = name[4:]
return first.upper[] + mid + second.upper[] + rest
cap['kahasdfn']
Đã trả lời ngày 2 tháng 4 năm 2021 lúc 12:20Apr 2, 2021 at 12:20
Đây là một cách. Bạn cần phải chia chuỗi thành một danh sách các ký tự để thay đổi các ký tự riêng lẻ, bởi vì các chuỗi là bất biến và sau đó sử dụng tham gia sau đó để chuyển đổi chúng trở lại thành một chuỗi.
def old_macdonald[name]:
letters = list[name]
for letter_to_capitalize in [1, 4]:
if len[letters] >= letter_to_capitalize:
letters[letter_to_capitalize - 1] = letters[letter_to_capitalize - 1].upper[]
return "".join[letters]
Đã trả lời ngày 8 tháng 9 năm 2019 lúc 19:30Sep 8, 2019 at 19:30
Tané Tachyontané TachyonTané Tachyon
1.0699 huy hiệu bạc11 huy hiệu đồng9 silver badges11 bronze badges
Một ví dụ khá đơn giản và có thể sửa đổi.
def old_mcdonald[word]:
indexes = [0,3] #letters i want to cap
new_word = "".join[[v.capitalize[] if i in indexes else v for i,v in enumerate[word]]]
return new_word
Đã trả lời ngày 8 tháng 9 năm 2019 lúc 19:32Sep 8, 2019 at 19:32
ThelazyscripterthelazyscripterTheLazyScripter
2.4661 Huy hiệu vàng9 Huy hiệu bạc19 Huy hiệu đồng1 gold badge9 silver badges19 bronze badges
def old_macdonald[s]:
return ''.join[[s[:1].upper[], s[1:3], s[3:4].upper[], s[4:]]]
# s[:1] - letter index 0 [first]
# s[1:3] - letters index 1-2
# s[3:4] - letter index 3 [fourth]
# s[4:] - letters index 4 onward
test_string = "abcdefghijklmnopqr"
print[old_macdonald[test_string ]] # AbcDefghijklmnopqr
Đã trả lời ngày 8 tháng 9 năm 2019 lúc 19:27Sep 8, 2019 at 19:27
DarrylgdarrylgDarrylG
15.7K2 Huy hiệu vàng15 Huy hiệu bạc22 Huy hiệu đồng2 gold badges15 silver badges22 bronze badges
Tôi thích viết nó theo cách này:
def old_macdonald[word]:
indices = [0, 4]
return ''.join[c.capitalize[] if index in indices else c for index, c in enumerate[word]]
Mặc dù nó hơi dài, vì vậy bạn có thể thích viết nó rõ hơn như:
def old_macdonald[word]:
indices = [0, 4]
new_string = []
for index, c in enumerate[word]:
new_string.append[c.capitalize[] if index in indices else c]
return ''.join[new_string]
Đã trả lời ngày 8 tháng 9 năm 2019 lúc 19:54Sep 8, 2019 at 19:54
1
def old_macdonald[s]:
w=""
for i in s:
t=s.index[i]
if t==0:
w=w+i.upper[]
elif[t==3]:
w=w+i.upper[]
else:
w=w+i
print[w]
old_macdonald["aman"]
Đã trả lời ngày 9 tháng 7 năm 2020 lúc 19:33Jul 9, 2020 at 19:33
1
def old_macdonald[name]:
mylist = list[name]
mylist[0] = mylist[0].upper[]
mylist[3] = mylist[3].upper[]
return ''.join[mylist]
0//ideone.com/2D0qbZ
Đã trả lời ngày 17 tháng 9 năm 2020 lúc 6:52Sep 17, 2020 at 6:52
Marek rmarek rMarek R
29,6K6 Huy hiệu vàng45 Huy hiệu bạc126 Huy hiệu đồng6 gold badges45 silver badges126 bronze badges
Điều này đã làm việc
def old_macdonald[name]:
mylist = list[name]
mylist[0] = mylist[0].upper[]
mylist[3] = mylist[3].upper[]
return ''.join[mylist]
1Đã trả lời ngày 18 tháng 4 năm 2021 lúc 13:15Apr 18, 2021 at 13:15
1