[英]How to print a string pattern?
我有一个字符串,其中包含字符和一个数字,用于将在模式中的行和列:
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中的代码下面为你的模式!
爪哇
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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.