牛客网输入输出问题-----Python方向

1:相信每年求职的时候,大家都会被牛客网的输入输出问题恶心到,明明在本地中是完全可以成功的,但是放到牛客上面就是0ac,看不到为什么错,输入输出还要搞半天,所以在这里记录一下

1:单输入,单输出的情况

输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。

示例1 输入: hello world 输出: 5

解决模板:

import sys
for line in sys.stdin:
	...
    print()

注意一定要在循环中输出,因为用例有很多,每个用例都要在程序中运行一遍。

2:多输入多输出情况,行数未知

注:测试用例保证输入参数的正确性,答题者无需验证。测试用例不止一组。

样例输入解释:
样例有两组测试 第一组是3个数字,分别是:2,2,1。
第二组是11个数字,分别是:10,20,40,32,67,40,20,89,300,400,15。
输入多行,先输入随机整数的个数,再输入相应个数的整数
返回多行,处理后的结果

解决模板:

while True:
    try:
        n = int(input())
        ...进行处理,结果放到数组l之中
        for i in l:
            print(F(i), end='\n')
    except:
        break

本节内容演示的是使用while 循环的过程,且事先不知道输入的行数,对于事先知道输入行数,可以用while循环,也可以用for..in..。值得注意的是,默认的输入是字符串类型,如果对输入进行整数的加减操作,应该在前面加上float,int等值对其类型进行转化

3:多输入多输出情况,行数已知在这里插入图片描述

while True:
	try:
		num = int(input())
		for i in range(num):
			tmp = input()
		...
		print()
	except:
		break

4:万能输入模板

	data=list(map(int,input().split()))
	print(data)

PS:牛客的输出是字符串类型,所以计算出来的整形数字一定要转化为字符串

while True:
    try:
        string = [i for i in input().split(';')]
        table = {'A':0,'S':0,'W':0,'D':0}
        for i in string:
            if judge(i):
                table[i[0].upper()]+=int(i[1:])
            else:
                continue
        x = table['D']-table['A']
        y = table['W']-table['S']
        print(str(x)+','+str(y))
    except:
        break
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值