鱼C论坛

 找回密码
 立即注册
查看: 1799|回复: 16

[已解决]python如何输入数字到数组

[复制链接]
发表于 2022-1-23 20:53:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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

#include <stdio.h>
main(){
int i,a;
int arr[3];
for(i=0;i<4;i++){
        scanf("%d",&a);
        arr[i]=a;
        printf("cycle print %d",arr[i]);
}
printf("%d",arr[1]);
                }
最佳答案
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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-23 21:22:19 | 显示全部楼层
输入5个正整数
输入第1个正整数:1
输入第2个正整数:2
输入第3个正整数:3
输入第4个正整数:4
输入第5个正整数:5
[1, 2, 3, 4, 5]
a = []
print("输入5个正整数")
for m in range(5):
    ch = int(input(f"输入第{m+1}个正整数:"))
    a.append(ch)
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-23 21:28:12 | 显示全部楼层

谢谢回复。
假如事先不知道要输入多少个数值,是输入任意个数字后,回车结束输入呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)

一个一个地输入,用回车表示结束是不可能的,因为你敲下回车后数据才录入,所以我改了一下,输入空格表示结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 10:11:31 | 显示全部楼层
YSW9527 发表于 2022-1-23 23:29
a = []
print("请输入整数")
F=True

如果我输入一串数字,数字指教用空格隔开,敲回车结束输入呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 10:15:15 | 显示全部楼层

for m in range(5):
    list[m]=int(input("输入5个正整数"))
请问这种方式,m循环变量不能作为列表元素标识吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-24 11:08:29 | 显示全部楼层
shark8890 发表于 2022-1-24 10:11
如果我输入一串数字,数字指教用空格隔开,敲回车结束输入呢?
i = input("输入整数以空格隔开:")
lst = [int(x) for x in i.split(" ") if x]
print(lst)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 19:40:55 | 显示全部楼层

高人高人,三行就解决问题,第二行代码能帮忙释义一下吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-24 19:52:13 | 显示全部楼层
shark8890 发表于 2022-1-24 10:15
for m in range(5):
    list[m]=int(input("输入5个正整数"))
请问这种方式,m循环变量不能作为列表元 ...

你的list是变量名还是列表类型,如果是变量名则需先做一个列表
list = [0, 0, 0, 0, 0]
for m in range(5):
    list[m]=int(input("输入5个正整数"))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 20:29:50 | 显示全部楼层
冬雪雪冬 发表于 2022-1-24 19:52
你的list是变量名还是列表类型,如果是变量名则需先做一个列表
list = [0, 0, 0, 0, 0]
for m in range ...

不好意思,还是不太明白,请问能再稍微详细解释一下吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-24 20:37:08 | 显示全部楼层
list[m]=...这种方式需要先有一个列表,再给元素赋值。
如:
>>> a = [0, 0]
>>> a[0] = 2
>>> a[1] = 3
>>> a
[2, 3]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 20:47:58 | 显示全部楼层
冬雪雪冬 发表于 2022-1-24 20:37
list[m]=...这种方式需要先有一个列表,再给元素赋值。
如:
>>> a = [0, 0]

明白了,谢谢解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-24 20:54:49 From FishC Mobile | 显示全部楼层
shark8890 发表于 2022-1-24 19:40
高人高人,三行就解决问题,第二行代码能帮忙释义一下吗


其实一行就能解决了
print([int(x) for x in input("输入整数以空格隔开:").split(" ") if x])
第二行[x for x in y if x]这样类型的是列表推导式,就是循环遍历y,如果x为真,则添加到列表中。split是字符串对象的方法,split(" ")是按空格分割内容,将字符串分割后返回一个列表。看样子你还没学到列表推导式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 21:05:43 | 显示全部楼层
hrpzcf 发表于 2022-1-24 20:54
其实一行就能解决了
第二行[x for x in y if x]这样类型的是列表推导式,就是循环遍历y,如果x为真, ...

列表推导式,确实不了解。请问有学习资源吗?我是带孩子学习,自己先编一些简单的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-24 21:36:32 From FishC Mobile | 显示全部楼层
shark8890 发表于 2022-1-24 21:05
列表推导式,确实不了解。请问有学习资源吗?我是带孩子学习,自己先编一些简单的

小甲鱼的视频教程就有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 09:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表