【python学习总结6】输入输出练习

在python中,使用内置函数input()可以接收用户的键盘输入。input()函数的基本用法如下:

variable = input("提示文字")

其中,variable为保存输入结果的变量,双引号内的文字用于提示要输入的内容。
在python3.x中,无论输入的时数字还是字符都将被作为字符串读取。如果想要接收数值,需要把接收到的字符串进行类型转换。例如,想要接收整型的数字并保存到变量num中,可以使用下面的代码:

num = int(intput("please input a number"))

1.题目描述: 计算a+b
输入描述: 输入包括两个正整数a,b(1<=a, b<=10^9),输入数据包括多组。
输出描述: 输出a+b的结果
示例:
输入
1 5
10 20
输出
6
30 
import sys

while 1:
    try:
        a,b=map(int,input().split())
        print(a+b)
    except:
        break
map()函数会根据提供的函数对指定序列做映射,第一个参数function以参数序列中的每一个元素调用function函数,返回以每次调用function函数返回值组成的新列表。
for line in sys.stdin:
    if line == '\n':
        break
    a,b=(int(i) for i in line.split())
    result = a+b
    sys.stdout.write("{}\n".format(result))
sys.stdin是一个标准化输入的方法
使用sys.stdin.readline()可以实现标准输入,其中默认输入的格式是字符串,如果是int,float类型则需要强制转换
与input()区别:
1.sys.stdin.readline()会将标准输入全部获取,包括末尾的‘\n‘,因此用len计算长度时是把换行符’\n‘计算进去的,而input()获取输入时返回的结果是不包含末尾的换行符’\n‘的。
2.此外,input()括号内可以直接填写说明文字
使用print(obj)在console上打印对象的时候,实质上调用的是sys.stdout.write(obj+'\n'),print在打印时会自动加个换行符
for a in sys.stdin:
    b=a.split()
    print(int(b[0])+int(b[1]))

s=sys.stdin.readline().strip('\n')
res=[]
while s!="":
    res.append(s)
    s=sys.stdin.readline().strip('\n')
for ch in res:
    tmp=ch.split()
    ans=int(tmp[0])+int(tmp[1])
    print(ans)
#strip()方法用于移除字符串头尾指定的字符(默认为空格)或字符序列
for i in sys.stdin:
    print(sum(map(int,i.split())))
2.题目描述: 计算a+b
输入描述: 输入第一行包括一个数据组数t(1 <= t <= 100),接下来每行包括两个正整数a,b(1 <= a, b <=10^9)
输出描述:输出a+b的结果
示例:
输入
2
1 5
10 20
输出
6
30 
for _ in range(int(input())):
    print(sum(map(int,input().split())))
a=int(input())
for i in range(a):
    b,c=map(int,sys.stdin.readline().strip().split())
    print(b+c)
n=int(input())
for i in range(n):
    x=input().split(" ")
    print(int(x[0])+int(x[1]))
3.题目描述: 计算a+b
输入描述: 输入包括两个正整数a,b(1 <= a, b <=10^9),输入数据有多组,如果输入为0 0则结束输入
输出描述: 输出a+b的结果
示例:
输入
1 5
10 20
0 0
输出
6
30 
for line in sys.stdin:
    a,b=map(int,line.strip().split())
    if a==0 and b==0:
        break
    print(a+b)
while 1:
    a,b=map(int,input().split())
    if a==b==0:
        break
    print(a+b)
while True:
    s=list(map(int,input().split()))
    if s[0]==0 and s[1]==0:
        break
    print(s[0]+s[1])
4.题目描述: 计算一系列数的和
输入描述: 输入包括多组。每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100),n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
输出描述: 每组数据输出求和的结果
示例:
输入
4 1 2 3 4
5 1 2 3 4 5
0
输出
10
15 
for line in sys.stdin:
    s=list(map(int,line.strip().split()))
    if s[0]==0:
        break
    print(sum(s)-s[0])
while True:
    s=list(map(int,input().split()))
    if s[0]==0:
        break
    print(sum(s)-s[0])
while True:
    try:
        line=input().split()
        n = line[0]
        if n==0:
            break
        print(sum(map(int,line[1:])))
    except:
        break
注意:map()返回的是迭代器(iterators)可以使用sum()函数求和,但是不能当作列表使用。
while True:
    s=input().split()
    if s[0]==0:
        break
    print(sum(map(int,s[1:])))
while True:
    m=input()
    if m=='0':
        break
    l=list(map(int,m.split()))
    print(sum(l[1:]))
5.题目描述: 对输入的字符串进行排序后输出
输入描述: 输入有两行,第一行n,第二行是n个空格隔开的字符串
输出描述: 输出一行排序后的字符串,空格隔开,无结尾空格
示例:
输入
5
c d a bb e
输出
a bb c d e
while True:
    try:
        n=input()
        s=input().split()
        print(' '.join(sorted(s)))
    except:
        break
6.题目描述: 删除字符串中重复的字母数字,并按原来的顺序进行输出。
while True:
    try:
        s=input()
        ss=list(set(s))
        ss.sort(key=s.index)
        print("".join(ss))
    except:
        break
#set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值