我需要编写一个程序,要求用户输入数字
n,其中-6 输出:输入起始号码:12 12 13 14 15 16 17 18 数字需要使用2的字段宽度打印并右对齐。字段需要用单个空格分隔。最后一个字段之后不能有空格。 到目前为止,这是我的代码: 但是它说: 请帮助a = eval(input('Enter the start number : ',end='\n'))
for n in range(a,a+7):
print("{0:>2}").format(n)
print()
File "C:/Users/Nathan/Documents/row.py", line 5, in <module>
a = eval(input('Enter the start number : ',end='\n'))
builtins.TypeError: input() takes no keyword arguments
答案 0 :(得分:1)
您不能通过\ n输入,因为这是一个特殊字符。
如果要用白线在输入之后添加另一个print()。
答案 1 :(得分:1)
首先,input
函数返回一个string
。您应该将其强制转换为整数。
还有一些语法错误,仅举几例:
1)您在打印后放置了.format
,但是它应该在print
内和字符串之后。
2)input
函数不接受end
参数。 python为此提供了此错误:TypeError: input() takes no keyword arguments
3)格式设置不正确。
此代码可以满足您的要求:
a = int(input('Enter the start number : '))
for n in range(a, a+7):
print("{:02d}".format(n), end=' ')
输出:
Enter the start number : 12
12 13 14 15 16 17 18
答案 2 :(得分:1)
input()
不接受end参数,只有print()
接受。
答案 3 :(得分:0)
解决方案
# input(): takes the input from the user, that will be in the form of string
# rstrip(): will remove the white spaces present in the input
# split(): will convert the string into a list
# map(function, iterable) : typecast the list
ar = list(map(int, input().rstrip().split()))
print(ar)
输出:
1 2 3 4
[1, 2, 3, 4]