程序接受许多输入,例如数字或整数,如何在新行上打印每一个输入。 例如。我输入这个2,4,5,2,38。 程序应该在新行上显示每一个。
Item = input ("Enter your number")
#user enters the following numbers 5,2,6,3,2
#print out each number on a new line
# output
5
2
6
3
2
全部保存了一个变量。
答案 0 :(得分:1)
你需要的只是一个简单的for循环,迭代输入并打印它
data = raw_input('enter ints').split(',')
for n in data:
if n.isdigit():
print n
请注意,如果您使用的是Pyhon 3.x,则需要使用input
代替raw_input
第一行将用户输入数据分配给data
变量,并按空格分割项目。 (你可以改变这个拖曳'而不是)
for循环对该列表中的每个项进行迭代,并检查它是否为数字。因为列表元素是字符串,我们可以使用isdigit()
字符串方法来测试它。
>>> '5'.isdigit()
True
>>> '12398'.isdigit()
True
如果您想以其他方式执行此操作,可以使用'\n'.join(data)
方法,该方法将加入列表元素并将其加入' \ n'。
>>> inpu = raw_input('enter ints\n').split(',')
>>> inpu = [c.strip() for c in inpu]
>>> print '\n'.join(inpu)
1
2
3
4
这实际上是更好的方法,因为它比for循环更简单。
答案 1 :(得分:0)
通过在python中键入print()
,它将移动到下一行。如果是一个列表,你可以做
for num in list:
print(num)
print()
您想要替换" list"用你的清单名称。
您也可以在引号中输入打印功能中的\n
以移至新行。
答案 2 :(得分:0)
如果数字用逗号分隔,您可以用逗号分隔它们,然后用新行加入它们:
>>> Item = input ("Enter your numbers: ")
Enter your numbers: 5,2,6,3,2
>>> Result = '\n'.join(Item.split(','))
>>> print(Result)
5
2
6
3
2
>>>
答案 3 :(得分:0)
如果要打印以逗号分隔的整数列表,每行一个整数,则可以执行以下操作:
items = input('Enter a comma-separated list of integers: ')
print(items.replace(",", "\n"))
示例:
Enter a comma-separated list of integers: 1,13,5
1
13
5
您可以通过接受“;”来改善使用RegEx代替“,”和可选空格:
import re
items = input('Enter a comma-separated list of integers: ')
print(re.sub(r"[,;]\s*", "\n", items))
示例:
Enter a comma-separated list of integers: 2, 4, 5; 2,38
2
4
5
2
38
答案 4 :(得分:0)
看起来我打印方太晚了:) 这对你也有用......理想情况下将它包装在一个函数中
# assuming STDIN like: "2,4,5,2,38,42 23|26, 24| 31"
split_by = [","," ","|"]
i_n_stdin = input()
for i in split_by:
i_n_stdin = i_n_stdin.split(i)
i_n_stdin = " ".join(i_n_stdin)
#print(i_n_stdin)
for i in i_n_stdin.split():
print(i)
答案 5 :(得分:0)
您可以在新行中打印,方法是将结束参数定义为' \ n' (对于新行),即打印(X,端=' \ n&#39)强>
>>> x=[1,2,3,4]
>>> for i in x:
print(i,end='\n')
<强>输出强>
1
2
3
4
你可以在python中使用 help 功能
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
答案 6 :(得分:0)
Python 3.x
items = input('Numbers:').split(',') # input returns a string
[print(x) for x in items]
Python 2.x
items = input('Numbers:') # input returns a tuple
# you can not use list comprehension here in python 2,
# cause of print is not a function
for x in items: print x