您现在的位置是:首页 > 技术教程 正文

Python输入的多种情况详细解读(单行、多行、数组......)

admin 阅读: 2024-03-22
后台-插件-广告管理-内容页头部广告(手机)

提到python的输入,我们首先想到的是xxx=input(),这个是我们最常见与最常用的用法,其实,在某些特殊的输入条件下,我们需要灵活搭配多种方法来解决各种各样的输入条件,下面对python输入方法做一些介绍:

1. 多元搭配实现各种输入方式的输入

首先来介绍一下常用的一些搭配

(1)输入一个整数

  1. # 123
  2. in_1 = int(input())

(2)输入两个或多个整数

  1. # 12 24 48
  2. in_1,in_2,in_3 = map(int,input().split())

(3)输入一行字符串或单个字符 

  1. # helloPythonExE 或 A
  2. in_1 = input()

(4)输入多个字符串或多个字符

  1. # ab bc cd 或 a b c
  2. in_1,in_2,in_3 = input().split()

(4)输入一行整数数组形式

  1. # 1 2 3 4 5 6 7 8
  2. in_1 = list(map(int,input().split()))

(5)输入一行字符数组或字符串数组形式

  1. # ab abd abcd ef efg fgh hijk 或 a b c d e f g h i
  2. in_1 = list(input().split())

(6)输入一行需要以特定字符分割的数组形式

  1. # ab-cd-ef-gh-ij-kl-mn
  2. in_1 = list(input().split('-'))
  3. # aaa*bbb*ccc*ddd*eee
  4. in_2 = list(input().split('*'))

(7)列表生成式方式存入一行数组形式输入

  1. # aaa bbb ccc 111 123 456 sss
  2. list_1 = [x for x in input().split(' ')]

差不多了,再介绍一下多行输入以及不指定行数的输入(以下指定行数的示例以5行为例)

(1)输入指定行数的字符串或字符

  1. # aaaaa
  2. # bbb
  3. # cccc
  4. # d
  5. # eeee
  6. for x in range(5):
  7. in_x = input()

 (2)输入指定行数的整数(其实只需在上面的基础上加个int即可)

  1. # 12
  2. # 345
  3. # 67
  4. # 8
  5. # 9
  6. for x in range(5):
  7. in_x = int(input())

(3)输入指定行数的数组形式(以整数元素为例,字符串或字符只需替换map中的int为str

  1. # 1 2 3 4 5
  2. # 2 3 4 5 6
  3. # 7 8 9 0 1
  4. # 3 3 3 3 3
  5. # 1 3 5 6 7
  6. for x in range(5):
  7. in_x = list(map(int,input().split()))

(4)以列表生成式方式输入指定行数字符串或字符

  1. # abcd
  2. # 1234
  3. # xyz
  4. # 12abc
  5. # cccc
  6. in_1 = [input() for x in range(5)]
  7. print(in_1)

(5)以列表生成式方式输入指定行数整数

  1. # 12
  2. # 345
  3. # 6789
  4. # 567
  5. # 10
  6. in_1 = [int(input()) for x in range(5)]
  7. print(in_1)

(6)以列表生成式方式输入指定行数数组形式(字符串或字符数组形式只需替换map中的int为str

  1. # 123 456 789 1000
  2. # 12 34 56 78
  3. # 77 888 9999
  4. # 1000 100 10 1
  5. # 6 66 666 6666
  6. in_1 = [list(map(int,input().split())) for x in range(5)]

(7)输入不指定行数,并以特定输入为结尾停止输入(以输入字符串‘0000’结束为例

  1. # 1111
  2. # 2222
  3. # 3333
  4. # 4444
  5. # 0000
  6. while True:
  7. in_1 = input()
  8. if in_1 == '0000':
  9. break

(8)输入不确定的行数,并且不知道何时会停止输入

  1. # aaa
  2. # bbbc
  3. # ddd
  4. # eee
  5. # ............还需输入多少行未知
  6. while True:
  7. try:
  8. in_1 = input()
  9. except:
  10. break

2.标准型输入sys.stdin.readline()

与我们常用的input()输入方式不同,sys.stdin.readline()是python的标准输入方式,它不像input一样需要处理尾部的回车符号,直接将一行全部读入,相比input(),在大量输入时sys.stdin.readline()更省时,用处很大,而且多元搭配依然用得上它,用法同以上用法,只需替换input()为sys.stdin.redaline(),需要注意的是因为它不处理换行符,使用时注意需要处理换行符的情况,手动处理换行符可以用replace('\n','')等多种方法,还有,就是需要导包

(1) sys.stdin.readline()读入一行

  1. # hello readline
  2. import sys
  3. in_1 = sys.stdin.readline()
标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索