首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python 3的一行上打印一个序列

在Python 3的一行上打印一个序列
EN

Stack Overflow用户
提问于 2016-03-24 13:49:23
回答 4查看 12K关注 0票数 3

我设法得到了正确的测序,但我不知道如何让它打印在同一行。我有这个:

代码语言:javascript
复制
n = input ("Enter the start number: ")
i = n+7

if n>-6 and n<93:
    while (i > n):
        print n
        n = n+1

并尝试过这样的方法:

代码语言:javascript
复制
n = input ("Enter the start number: ")
i = n+7

if n>-6 and n<93:
    while (i > n):
        print (n, end=" ")
        n = n+1
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-03-24 13:55:45

从您的第一个代码(工作)判断,您可能正在使用Python2。要使用print(n, end=" "),您首先必须从Python3导入print函数:

代码语言:javascript
复制
from __future__ import print_function
if n>-6 and n<93:
    while (i > n):
        print(n, end=" ")
        n = n+1
    print()

或者,使用旧有的Python2 print语法,在语句之后使用,

代码语言:javascript
复制
if n>-6 and n<93:
    while (i > n):
        print n ,
        n = n+1
    print

或者使用" ".join将数字加入到一个字符串中,并一次打印出来:

代码语言:javascript
复制
print " ".join(str(i) for i in range(n, n+7))
票数 5
EN

Stack Overflow用户

发布于 2016-03-24 14:01:50

您可以使用范围,使用打印作为函数,并指定sep arg并使用*解压缩。

代码语言:javascript
复制
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=" ")

输出:

代码语言:javascript
复制
Enter the start number: 12 
12 13 14 15 16 17 18

您还在使用python 2,而不是python 3,否则打印会导致语法错误,所以使用raw_input并强制转换为int。

对于python 3,只需将输入转换为int,并使用相同的逻辑:

代码语言:javascript
复制
n = int(input("Enter the start number: "))
i = n + 7

if -6 < n < 93:
    print(*range(n, i ), sep=" ")
票数 4
EN

Stack Overflow用户

发布于 2016-03-24 13:56:35

您可以使用如下临时字符串:

代码语言:javascript
复制
if n>-6 and n<93:
temp = ""
while (i > n):
    temp = temp + str(n) + " "
    n = n+1
print(n)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36201754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档