一直都是用 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/p/9877325.html