我设法让顺序正确,但我不确定如何在同一条线上打印。我有这个:
n = input ("Enter the start number: ")
i = n+7
if n>-6 and n<93:
while (i > n):
print n
n = n+1
并试过这个:
n = input ("Enter the start number: ")
i = n+7
if n>-6 and n<93:
while (i > n):
print (n, end=" ")
n = n+1
答案 0 :(得分:4)
根据您的第一个(工作)代码判断,您可能正在使用Python 2.要使用print(n, end=" ")
,首先必须从Python 3导入print
函数:
from __future__ import print_function
if n>-6 and n<93:
while (i > n):
print(n, end=" ")
n = n+1
print()
或者,在语句后使用旧的Python 2 print
语法和,
:
if n>-6 and n<93:
while (i > n):
print n ,
n = n+1
print
或者使用" ".join
将数字连接到一个字符串并一次打印:
print " ".join(str(i) for i in range(n, n+7))
答案 1 :(得分:3)
您可以使用print作为函数使用范围并指定 sep arg并使用*
解压缩:
from __future__ import print_function
n = int(raw_input("Enter the start number: "))
i = n + 7
if -6 < n < 93:
print(*range(n, i ), sep=" ")
输出:
Enter the start number: 12
12 13 14 15 16 17 18
您在第一个代码中也使用python 2而不是python 3,否则您的打印会导致语法错误,因此请使用raw_input并强制转换为int。
对于python 3,只需将输入转换为int并使用相同的逻辑:
n = int(input("Enter the start number: "))
i = n + 7
if -6 < n < 93:
print(*range(n, i ), sep=" ")
答案 2 :(得分:1)
你可以像这样使用临时字符串:
if n>-6 and n<93:
temp = ""
while (i > n):
temp = temp + str(n) + " "
n = n+1
print(n)
答案 3 :(得分:0)
这是用Java编写的。这两个嵌套循环仅用于打印模式,当我们获得所需的整数序列时,使用stop varialbe终止循环。
import java.io.*;
import java.util.Scanner;
public class PartOfArray {
public static void main(String args[])
{
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int stop =1; // stop variable
/*nested loops to print pattern */
for(int i= 1 ; i <= n ; i++)
{
for(int j = 1 ; j<=i ; j++)
{
if (stop > n){ break;} //condation when we print the required no of elements
System.out.print(i+ " ");
stop++;
}
}
}
}