Python解题技巧

一直都是用C++和C解题,某题简单解完后便心血来潮想用Python解一次,发现一些问题,特写此篇随笔来记录。

一、 输入格式:

例:输入第1行给出正整数n和整数m;第2行给出n个整数,其间以空格分隔。

        大多数题目都是要求一行给多个元素,其间以空格为间隔,而在Python中只用input()是不行的,若多个input()累加也不行,input()只识别回车键。

1. 一行给指定元素,如例题中的m和n。

n,m = map(int,input().split())

 

2. 一行给未知元素,在C++中表现为数组,如例题中第二行给出的n个整数,Python当然是要存在列表中。

str_in = input()
num = [int(n) for n in str_in.split()]

        split()是用来分割的,若括号内什么都没写则默认为以空格为分隔符,若想以其他符号分隔得话,split(“,”)即可。

        int为转换的类型。若一字符串中既有空格又有其他符号(如逗号),则不能用split(),否则程序无法运行。

注:此num便成为了列表类型,因此对num的相关操作需要用列表的相关函数。例如,向num中继续添加数字,应调用 ListName.append(content) 。(一定要把思维模式转换到Python上来)

二、 输出格式:

很多输出格式也是空格为分隔符的,Python3中,print()自带换行功能,若想在同一行中输出,需要在print()中加入end = “”,例如:(引号内可任意)

for i in range(n):
    print(num[i],end = " ")

以后遇到其他问题继续补充~欢迎各路大神提供更好的解题技巧

转载请注明来源 https://www.cnblogs.com/zcl843264327/

版权声明:本文为zcl843264327原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zcl843264327/p/9877325.html