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(function, 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="", 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