首页 > 编程知识 正文

Python从键盘输入若干个整数

时间:2023-11-22 12:50:50 阅读:293745 作者:PDKG

Python是一种高级编程语言,具有简单易读、语法灵活、较强的可移植性等优点。在Python中从键盘输入若干个整数是一项基础且常用的操作。本文将从多个方面详细阐述如何在Python中实现此功能。

一、input函数实现从键盘输入

Python中input()函数可以从标准输入设备(如键盘)读取一行数据,以字符串的形式返回。在通过input()函数输入数字时,需要使用int()函数将字符串转换为整型。下面是示例代码:

nums_str = input("请输入多个整数,以空格分隔:")
nums_list = [int(num) for num in nums_str.split()]
print(nums_list)

在上述代码中,input()函数将输入的内容作为字符串赋值给变量nums_str。然后通过split()函数将字符串分隔成列表,再通过列表推导式将每个字符串元素转为整型,最终得到整型列表。

二、标准库中的fileinput模块实现文件输入

如果需要从文件中读取整数,可以使用Python标准库中的fileinput模块。该模块提供了一种方便的方式,可以让开发人员轻松读取多个文件。下面是示例代码:

import fileinput

nums_list = []
for line in fileinput.input():
    nums_list.extend([int(num_str) for num_str in line.rstrip().split()])

print(nums_list)

在上述代码中,使用fileinput.input()函数读取命令行参数或标准输入,再使用rstrip()函数去除行末的空格或换行符。最后使用列表推导式将每个字符串元素转为整型,通过extend()函数添加到整型列表中。

三、通过numpy模块实现读取固定格式的矩阵

在读取矩阵或二维数组时,可以使用Python中的numpy模块。该模块提供了常用的数学函数和数组操作,可以高效地处理大规模数据。下面是示例代码:

import numpy as np

nums_str = input("请输入矩阵,每行以空格分隔:")
nums_list = [[int(num) for num in line.split()] for line in nums_str.split("n") if line]

nums_arr = np.array(nums_list)
print(nums_arr)

在上述代码中,使用input()函数输入多行矩阵数据,通过列表推导式分割行和列,形成二维列表。然后使用np.array()函数将二维列表转换为numpy中的数组。最后,输出数组内容。

四、结合os模块实现读取指定目录下的文件

如果需要读取指定目录下的多个文件,可以使用Python中的os模块。该模块提供了一系列的文件操作函数,可以实现文件的创建、删除、移动、复制、重命名等操作。下面是示例代码:

import os

dir_path = "./files/"
files_list = [os.path.join(dir_path, file) for file in os.listdir(dir_path) if file.endswith(".txt")]

nums_list = []
for file_path in files_list:
    with open(file_path, "r") as f:
        nums_list.extend([int(num_str) for num_str in f.read().rstrip().split()])

print(nums_list)

在上述代码中,使用os.listdir()函数列出指定目录下的所有文件,再使用列表推导式筛选出以“.txt”结尾的文件,得到文件名列表。然后使用os.path.join()函数拼接文件名和目录路径,得到文件路径。在读取文件时使用with语句打开文件,读取文件内容,使用列表推导式将每个字符串元素转为整型,通过extend()函数添加到整型列表中。

五、使用pandas库读取csv文件

如果需要读取csv文件中的整数,可以使用Python中的pandas库。该库提供了高级数据分析工具,可以用于数据清洗、转换、合并、统计等操作。下面是示例代码:

import pandas as pd

df = pd.read_csv("nums.csv")
nums_list = df[df.columns[0]].tolist()

print(nums_list)

在上述代码中,使用pd.read_csv()函数读取csv文件中的数据,返回Pandas的DataFrame对象。然后使用tolist()函数将DataFrame列转换为列表。最后,输出整型列表。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。