Python3 输入 list(map(int,input().split()))介绍

Python3 多行数据输入

  • input().split()用法
  • map()用法
  • str.split()用法
  • 测试用例

input().split()用法

input() 接收多个用户输入需要与split()结合使用

host, port, username, passwd, dbname = input("请输入服务器地址,端口号,用户名,密码及数据库名,空格隔开:").split()   
# 注意input()的返回类型是str
print(host,port,username,passwd,dbname)

结果:

请输入服务器地址,端口号,用户名,密码及数据库名,空格隔开:10.1.1.71 22 root 123456 db_name

10.1.1.71 22 root 123456 db_name

注意返回的数据类型是str,如果是整数需要转化为int才可正常使用

nm = list(map(int,input().split(" ")))
N = nm[0]
M = nm[1]

map()用法

map(function, iterable, …)

  1. function – 函数
  2. iterable – 一个或多个序列

返回值:

Python 2.x 返回列表。
Python 3.x 返回迭代器。
所以Python 3.x要加list()函数将迭代器转化为列表。

举例:

def f(x):
    return x*x
print(list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))

输出:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

用匿名函数:

print(list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])))

输出:

[1, 4, 9, 16, 25]

str.split()用法

说明:

str.split(str="", num=string.count(str))

str是分隔符(默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等),num是分隔次数
举例1:

txt = "Google#Facebook#Runoob#Taobao"
x = txt.split("#", 1)
print(x)

输出结果:

['Google', 'Facebook#Runoob#Taobao']

举例:

txt = "Google#Facebook#Runoob#Taobao"
x = txt.split("#", 2)
print(x)

输出结果:

['Google', 'Facebook', 'Runoob#Taobao']

测试用例

题目1描述:
样例题目及程序
A + B
描述
给予两个整数 a 和 b ,计算它们的和 a + b

输入
输入包含多组测试数据,每一行包含两个整数 a 和 b

输出
在一行中输出 a + b 的值

while 1:
  a=[]  
  s = input()
  
  if s != "":
    for x in s.split():  
      a.append(int(x))  
    print(sum(a))
  else:
    break

题目2描述:

大学的同学来自全国各地,对于远离家乡步入陌生大学校园的大一新生来说,碰到老乡是多么激动的一件事,于是大家都热衷于问身边的同学是否与自己同乡,来自新疆的小赛尤其热衷。但是大家都不告诉小赛他们来自哪里,只是说与谁是不是同乡,从所给的信息中,你能告诉小赛有多少人确定是她的同乡吗?

输入描述:

包含多组测试用例。
对于每组测试用例:
第一行包括2个整数,N(1 <= N <= 1000),M(0 <= M <= N*(N-1)/2),代表现有N个人(用1~N编号)和M组关系;
在接下来的M行里,每行包括3个整数,a,b, c,如果c为1,则代表a跟b是同乡;如果c为0,则代表a跟b不是同乡;
已知1表示小赛本人。

输入样例:
3 1
2 3 1
5 4
1 2 1
3 4 0
2 5 1
3 2 1

import math
while 1:
    #每组第一行是N和M 
    nm = list(map(int,input().split(" ")))
    N = nm[0]
    M = nm[1]
    print(str(N) + ' ' + str(M))
    # 接下来M行,每行a b c
    for i in range(M):
      abc = list(map(int,input().split(" ")))
      a = abc[0]
      b = abc[1]
      c = abc[2]
      print(str(a) + ' ' + str(b) + ' ' + str(c))

输出结果:

3 1
2 3 1
5 4
1 2 1
3 4 0
2 5 1
3 2 1

你可能感兴趣的:(Python3 输入 list(map(int,input().split()))介绍)