此代码的功能是将出现在偶数索引中的字母大写,并将出现在奇数索引中的字母小写。此外,如果单词之间出现空格,则必须将索引重置为0。如您所见,第一个和第二个单词将正确执行。而第三个单词是不正确的。不是将C和S大写,而是将0和2索引大写,将A和E大写。
string = 'Weird string case'
result = ''
i=0
for m in string:
if(i%2==0):
result = result+m.upper()
i+=1
elif(m==' '):
result = result + m
i=0
else:
result = result + m.lower()
i+=1
print(result)
当前输出
WeIrD StRiNg cAsE
预期产量
WeIrD StRiNg CaSe
答案 0 :(得分:1)
您应该先测试<?php
validateUserSomehow();
$filepath = "/path/to/file/".$_GET['f'];
echo '<img src="'.$filepath.'"/>';
?>
是否为空格;否则,如果m
为偶数时出现空格,则i
不会被重置:
i
答案 1 :(得分:0)
小的交换可以解决问题:
string = 'Weird string case'
result = ''
i=0
for m in string:
if(i%2!=0):
result = result+m.lower()
i+=1
elif(m==' '):
result = result + m
i=0
else:
result = result + m.upper()
i+=1
print(result)
或者有两条线(可能是很长的话),列表理解和map
和两个join
:
s=''.join([i.lower() if idx%2 else i.upper() for idx,i in enumerate(string)]).split()
print(' '.join(map(lambda x: x.swapcase() if x[0].islower() else x,s)))
答案 2 :(得分:0)
这似乎已经解决了。
['192.168.70.19 (tcp/1433)',
'192.168.70.19 (tcp/1025),192.168.70.223 (tcp/1051),192.168.70.245 (tcp/1025)',
'192.168.70.19 (tcp/3389),192.168.70.223 (tcp/3389)']
答案 3 :(得分:0)
没有明确要求我,但是我们可以先对字符串进行标记。这样可以区分单个单词:
import re
string = 'Weird string case'
result = ''
for word in re.split("\\s+", string):
for index, char in enumerate(word, 1):
result = result+char.lower() if index%2==0 else result + char.upper()
result += " "
print(result)
常规string.split(“”)也可以。我只是使用正则表达式进行演示。
答案 4 :(得分:0)
如果我们枚举 string
,则可以将if, elif, else
的语句精简为if, else
,即{{1} }}和not i % 2
降低。我们可以将它们附加到列表中,然后使用upper.()
打印最终产品。此外,else
是一个选项,列表理解
地图
''.join(res)
列表理解
map
完整循环:
s = 'Weird string case'
res = list(map(lambda x: x.upper() if not s.index(x) % 2 else x.lower(), s))
print(''.join(res))
res = [v.upper() if not i % 2 else v.lower() for i, v in enumerate(s)] print(''.join(res))
答案 5 :(得分:0)
我会使用另一个列表
string = 'Weird string case'
words = string.split(" ") #This creates a list of substrings from your original string
result = ''
for word in words:
for m in string:
if(i%2==0):
result = result+m.upper()
i+=1
elif(m==' '):
result = result + m
i=0
else:
result = result + m.lower()
i+=1
`enter code here` print(result)