我正在寻找一种方法来在一行上打印数字1-7,然后在另一行上打印8-14,最后在控制台上打印22-28和29-31。这是我所拥有的:
def check(z,y):
if x >= (z) and x <= (y) :
print (str(x) + " ", end="")
for x in range (1, 31):
check(1,7)
check(8,14)
check(22,28)
check(29,31)
这会在同一行上打印所有数字1-31,但是我不知道如何在同一行上打印1-7,而又不会在同一行上打印其他数字。 另外,我不能只做print(1,2,3,4,5,6,7) 等等。
答案 0 :(得分:0)
以下代码将在不同的行上分别打印数字1-7、8-14、22-28和29-31:
[print(i,end="") for i in range(1,8)]
print("")
[print(i,end="") for i in range(8,15)]
print("")
[print(i,end="") for i in range(22,29)]
print("")
[print(i,end="") for i in range(29,32)]
答案 1 :(得分:0)
有趣的问题,因为您有一些唯一变量,但是我们可以将逻辑分解如下:
public class StringCountUptoThree {
public static void main(String[] args) {
String str = "aaaaaabbcccdeeeeeeeeeeffff";
System.out.println(stringCount(str));
}
public static StringBuffer stringCount(String str) {
StringBuffer sb = new StringBuffer();
int len = str.length();
int j = 1;
for (int i = 0; i < len; i++) {
int count = 0;
if( count >3 && (str.charAt(i)==str.charAt(j)))
continue;
for (j = i + 1; j < len; j++) {
if (str.charAt(i) == str.charAt(j)) {
sb.append(str.charAt(i));
count++;
if (count > 3)
break;
}
}
}
return sb;
}
}
上面将打印此:
1 2 3 4 5 6 7
8 9 10 11 12 13 14
22 23 24 25 26 27 28
29 30 31
答案 2 :(得分:0)
也许您可以使用类似的东西:
def check(z,y):
for x in range(z,y+1):
print (str(x) + " ", end="")
print('\n')
check(1,7)
check(8,14)
check(22,28)
check(29,31)
输出:
1 2 3 4 5 6 7
8 9 10 11 12 13 14
22 23 24 25 26 27 28
29 30 31
[Finished in 0.0s]