代码1
n = input("Enter numbers:")
a = list(map(int, n.split()))
print(a[0])
代码2
n = [input("Enter numbers:").split()]
print(ans[0])
问题1:在代码1中,我必须将字符串转换为int,而在代码2中,它已经在int中。为什么这样?
问题2:打印代码不起作用。为什么我不能从列表中打印元素?
答案 0 :(得分:0)
在这两段代码中,您使用input()
函数。此函数始终会从用户返回 string
。即使他们在提示时输入数字(整数),也会返回string
这些数字。
我现在将尝试解释每段代码对string
:
n = input("Enter numbers:")
a = list(map(int, n.split()))
print(a[0])
在此,我们将string
分配给变量n
。然后,我们选择n
并致电n.split()
。这样做是为了string
并通过在空格上分割输入的list
将其转换为string
。因此,如果输入的string
是:
"1 2 3 4"
list
将是:
['1', '2', '3', '4']
然后,我们使用int()
将function
element
应用于list
中的每个map
。接下来,我们将map object
传递给list()
function
,将其转换为list
。我们现在正在使用list
integers
variable
分配给a
print
。
最后,我们element
第一个a[0]
和string
。因此,如果用户输入了'1 2 3 4'
:print
,则会1
n = [input("Enter numbers:").split()]
print(ans[0])
。
string
在这里,我们像以前一样采用输入的split
并立即list
。这意味着我们现在通过在每个空间拆分strings
来获得string
[]
。
但是,由于它本身位于方括号(list
)内,因此list
嵌入在另一个[['1', '2', '3', 4']]
中。所以在格式中(我不确定这是否是你希望代码工作的方式):
printing
然后,您是a[0]
a
。由于list
是strings
数字的嵌入element
,因此第一个list
只会为您提供element
,而不是第一个list
数字'1 2 3 4'
的数字。因此,我们输入的示例:print
,在这种情况下['1', '2', '3', 4']
:
strings
请注意,在这段代码中,我们也没有将数字integers
转换为strings
,因此它们最后仍为<input type="text" name="quantity_box[]" class="form-control" autofocus="" />
<input type="text" name="quantity_box[1]" class="form-control" autofocus="" />
<input type="text" name="quantity_box[2]" class="form-control" autofocus="" />
。