• 关于笔试编程题被坑的输入问题,acm模式下的python输入究竟如何写?


    常见的笔试编程题,都是ACM模式
    写完功能函数以后,在调用函数之前,涉及到一个输入问题
    acm模式下的输入应该如何写呢?

    通过input()函数或sys.stdin.readline()来实现。下面主要使用inpu()函数

    读取输入的一个整数

    # 输入为: 1 2 3 4 5
    a = input()
    # a = '1 2 3 4 5'
    
    # 输入为: 1
    a = int(input()) # 单个转换
    # a = “1”
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    读取输入的一串整数

    Python3中的input()会将接受的数据返回为一个string类型,如果一行中有多个数据的话,则需要使用split()进行切割。split()切割后返回一个列表。

    如果输入数据是数字则需要进行类型转换。可以单个转换或是用列表批量转换,使用map()并行转换。map()函数返回的是一个迭代器,不能改变值,如果需要改变值的话还需要转换成列表。

    # 输入为: 1 2 3 4 5
    a = input().split() # split()默认以空字符为分隔符,包括空格、换行(\n)、制表符(\t)等
    # a = ['1', '2', '3', '4', '5']
    	  
    # 输入为:1,2,3,4,5
    b = input().split(',') # 以逗号为分隔符
    # b = ['1', '2', '3', '4', '5']
    
    # 类型转换
    c = [int(i) for i in input().split()]
    d = list(map(int, input().split())) 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    读取输入的两个整数、矩阵

    n, m = map(int, input().split()) #两个整数n和m,表示数据的行列数
    a = []
    for i in range(n):	#n行,每行包含m个整数,表示数据
        row = input().split()
        a.append(row)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    加一个strip函数去掉多余的空格或者换行符

    arr = input().strip().split(' ')
    
    • 1
  • 相关阅读:
    ElementUI分页功能
    c#中的接口
    USB3.1HUB驱动芯片VL822
    《你的第一本哲学书》- 是否存在外部世界
    PyTorch应用实战三:构建神经网络
    【无标题】
    计算机中丢失mfc140u.dll怎么解决
    Lock锁:ReentrantLock的可打断和可重入特性
    基于SSM的医院挂号管理系统
    SSH协议&在IDEA中使用Git及git GUI的简单使用
  • 原文地址:https://blog.csdn.net/qq_34885993/article/details/133745055