shark8890 发表于 2022-1-23 20:53:02

python如何输入数字到数组

python请问如何输入数字到数组?
for m in range(5):
    list=int(input("输入5个正整数"))

for m in range(5):                              #C语言应该是支持这种方式赋值的吧?
    a=int(input("输入5个正整数"))
    list=a

#include <stdio.h>
main(){
int i,a;
int arr;
for(i=0;i<4;i++){
        scanf("%d",&a);
        arr=a;
        printf("cycle print %d",arr);
}
printf("%d",arr);
                }

大马强 发表于 2022-1-23 21:22:19

输入5个正整数
输入第1个正整数:1
输入第2个正整数:2
输入第3个正整数:3
输入第4个正整数:4
输入第5个正整数:5

a = []
print("输入5个正整数")
for m in range(5):
    ch = int(input(f"输入第{m+1}个正整数:"))
    a.append(ch)
print(a)

shark8890 发表于 2022-1-23 21:28:12

大马强 发表于 2022-1-23 21:22


谢谢回复。
假如事先不知道要输入多少个数值,是输入任意个数字后,回车结束输入呢?

冬雪雪冬 发表于 2022-1-23 21:35:07

shark8890 发表于 2022-1-23 21:28
谢谢回复。
假如事先不知道要输入多少个数值,是输入任意个数字后,回车结束输入呢?

a = []
print("输入正整数,直接按回车结束。")
while True:
    ch = input()
    if ch == '':
      break
    a.append(int(ch))
print(a)

大马强 发表于 2022-1-23 21:36:59

shark8890 发表于 2022-1-23 21:28
谢谢回复。
假如事先不知道要输入多少个数值,是输入任意个数字后,回车结束输入呢?

a = []
m = 1
print("输入正整数,输入回车结束")
while True:
    ch = input(f"输入第{m}个正整数:")
    if ch == "":
      break
    m += 1
    a.append(int(ch))
print(a)

YSW9527 发表于 2022-1-23 23:29:51

shark8890 发表于 2022-1-23 21:28
谢谢回复。
假如事先不知道要输入多少个数值,是输入任意个数字后,回车结束输入呢?

a = []
print("请输入整数")
F=True
x=1
ch = input("输入第%d个正整数:"%x)
while (ch!=' '):
    ch=int(ch)
    a.append(ch)
    x=x+1
    ch = input("输入第%d个正整数:"%x)
   
print(a)

一个一个地输入,用回车表示结束是不可能的,因为你敲下回车后数据才录入,所以我改了一下,输入空格表示结束

shark8890 发表于 2022-1-24 10:11:31

YSW9527 发表于 2022-1-23 23:29
a = []
print("请输入整数")
F=True


如果我输入一串数字,数字指教用空格隔开,敲回车结束输入呢?

shark8890 发表于 2022-1-24 10:15:15

冬雪雪冬 发表于 2022-1-23 21:35


for m in range(5):
    list=int(input("输入5个正整数"))
请问这种方式,m循环变量不能作为列表元素标识吗?

hrpzcf 发表于 2022-1-24 11:08:29

shark8890 发表于 2022-1-24 10:11
如果我输入一串数字,数字指教用空格隔开,敲回车结束输入呢?

i = input("输入整数以空格隔开:")
lst =
print(lst)

shark8890 发表于 2022-1-24 19:40:55

hrpzcf 发表于 2022-1-24 11:08


高人高人,三行就解决问题,第二行代码能帮忙释义一下吗{:5_109:}

冬雪雪冬 发表于 2022-1-24 19:52:13

shark8890 发表于 2022-1-24 10:15
for m in range(5):
    list=int(input("输入5个正整数"))
请问这种方式,m循环变量不能作为列表元 ...

你的list是变量名还是列表类型,如果是变量名则需先做一个列表
list =
for m in range(5):
    list=int(input("输入5个正整数"))

shark8890 发表于 2022-1-24 20:29:50

冬雪雪冬 发表于 2022-1-24 19:52
你的list是变量名还是列表类型,如果是变量名则需先做一个列表
list =
for m in range ...

不好意思,还是不太明白,请问能再稍微详细解释一下吗?

冬雪雪冬 发表于 2022-1-24 20:37:08

list=...这种方式需要先有一个列表,再给元素赋值。
如:
>>> a =
>>> a = 2
>>> a = 3
>>> a

shark8890 发表于 2022-1-24 20:47:58

冬雪雪冬 发表于 2022-1-24 20:37
list=...这种方式需要先有一个列表,再给元素赋值。
如:
>>> a =


明白了,谢谢解答

hrpzcf 发表于 2022-1-24 20:54:49

shark8890 发表于 2022-1-24 19:40
高人高人,三行就解决问题,第二行代码能帮忙释义一下吗

其实一行就能解决了print()
第二行这样类型的是列表推导式,就是循环遍历y,如果x为真,则添加到列表中。split是字符串对象的方法,split(" ")是按空格分割内容,将字符串分割后返回一个列表。看样子你还没学到列表推导式。

shark8890 发表于 2022-1-24 21:05:43

hrpzcf 发表于 2022-1-24 20:54
其实一行就能解决了
第二行这样类型的是列表推导式,就是循环遍历y,如果x为真, ...

列表推导式,确实不了解。请问有学习资源吗?我是带孩子学习,自己先编一些简单的{:5_100:}

hrpzcf 发表于 2022-1-24 21:36:32

shark8890 发表于 2022-1-24 21:05
列表推导式,确实不了解。请问有学习资源吗?我是带孩子学习,自己先编一些简单的

小甲鱼的视频教程就有
页: [1]
查看完整版本: python如何输入数字到数组