我有一个包含字符和数字的字符串,用于模式中的行和列:
char_str1 = 'abc'
char_str1 = '31452'
num = 5
我希望输出为:
abcab 31452
bcabc 14523
cabca 45231
abcab 52314
bcabc 23145
我试过了:
for i in range(num):
for j in range(num):
print(char_str1, end='')
print()
output:
abcabcabcabcabc
abcabcabcabcabc
abcabcabcabcabc
abcabcabcabcabc
abcabcabcabcabc
如果您复制字符串至少num
次,则简单的切片工作。原始字符串的长度必须至少为1
char_str1 = 'abc'
char_str2 = '31452' # You had a typo here st1 instead of str2
num = 5
a = char_str1 * num
b = char_str2 * num
for i in range(num):
print(a[i:i+num], b[i:i+num])
输出:
abcab 31452
bcabc 14523
cabca 45231
abcab 52314
bcabc 23145
请使用下面的java代码为您的模式!
JAVApublic class Main {
public static void printPattern(String s, int n) {
for (int i = 0; i < n; i++) {
for (int j = i; j < n + i; j++) {
System.out.print(s.charAt(j % s.length()));
}
System.out.println();
}
}
public static void main(String[] args) {
printPattern("abc", 5);
printPattern("31452", 5);
}
}
编辑:
Pythondef printPattern(s, n):
for i in range(n):
for j in range(i, n + i):
print(s[j % len(s)], end='')
print()
printPattern("abc", 5);
printPattern("31452", 5);