你能告诉我如何在python中使用for循环重复一个字符串中的每个字符吗?我的进展是:
def double(str):
for i in range(len(str)):
return i * 2
,这只返回重复字符串的第一个字母
答案 0 :(得分:2)
我相信你想按顺序打印输入字符串的每个字符两次。您尝试的问题是您使用return
。您只想返回最后一个字符串,而不仅仅是循环内部一个字符的重复。所以你希望你的return语句在for循环之外。
因为这听起来像是一个家庭作业问题,所以在继续下面之前,试着弄清楚如何做到这一点。
仍然坚持?
按顺序打印字符串中的每个字符两次:
def double(str):
outstr = ''
for character in str:
outstr = outstr + char + char
return outstr
不使用for循环:
def double(str):
return ''.join([c+c for c in str])
答案 1 :(得分:1)
常规变体,返回字符串,重复原始字符串 n 次中的每个字符:
def multichar(text, n):
return ''.join([x * n for x in text])
<强>解释强>:
''.join(...)
- 将(...)中的所有内容粘合成一个,不带空格,即''.join('a', 'b', 'c')
将返回'abc'
。
' '.join('a', 'b', 'c')
将返回'a b c'
。
'-'.join('a', 'b', 'c')
将返回'a-b-c'
。
...你明白了:)
[x * n ...]
- 重复x
n
次,即'a' * 3
给出'aaa'
。
[... for x in text]
- 正常for
循环 - 遍历text
中的每个元素。
普通英语,代码的最后一行:
列表中的每个元素都没有空格,通过x
中n
的每个x
重复text
>>> multichar('Hello', 2)
次来生成。
示例强>:
>>> 'HHeelllloo'
将返回:
iv_profile_pic.setOnClickListener(new View.OnClickListener() {//iv_profile_pic is an ImageView
@Override
public void onClick(View view) {
Intent i=new Intent(MainActivity.this,profile_pic_chooser.class);
i.setFlags(0);
MainActivity.this.startActivityForResult(i, 999);
Toast.makeText(getApplicationContext(),"Reached",Toast.LENGTH_SHORT).show();
}
});
答案 2 :(得分:1)
给定一个字符串,下面的代码借助功能和while循环将字符串中的每个原始字符重复两次。 res是一个列表,用于存储字符串的双精度字符。 “” .join()被调用以连接列表。 原始字符重复的次数可以更改。 这是代码段。
declare @p_total int
select @p_total = count(*) from #resultsBeforeSort
select [Count] = @p_total,
[HasPreviousPage] = (case when @p_skipFirst > 0 then 1 else 0 end),
[HasNextPage] = (case when @p_total > @p_skipFirst + @p_first then 1 else 0 end)
select [RowIndex], Col1, Col2, Col3
from #resultsBeforeSort
order by Column1, Column2 desc, RowIndex
rows limit @p_first offset @p_skipFirst
paper_doll('paperdoll')
输出:
def paper_doll(text):
j = len(text)
i=0
res=[]
while i<j :
res.append(text[i]*2)
i = i+1
result ="".join(res)
print(result)
欢迎任何形式的反馈和建议。
答案 3 :(得分:0)
对现有代码进行最少的修改:
(range(len))
将遍历索引而不是实际字符,而yield
代替return
使其成为生成器,从而允许返回所有值)
def double(str):
for i in str:
yield i * 2
使用它:
str = 'This is a test'
''.join(double(str))
答案 4 :(得分:0)
str = input('Enter string: ')
char = " "
for i in char:
char = char + i + i
print(char)