如何打印字符串模式?



我有一个包含字符和数字的字符串,用于模式中的行和列:

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代码为您的模式!

JAVA

public 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);
}
}

编辑:

Python

def 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);

最新更新