Python写算法题基础(一.基础语法快速入门)

        我发现csdn上面没有那种比较系统的编程和算法讲解,所以我准备先用两到三篇文章介绍一下python的基础语法和常用api,然后再通过力扣题目,灵神的题单和codeforces的简单题目介绍一些基础的算法,然后坚持更新codeforce一些比赛的题解和一些有意思的题目,我会讲的尽可能细节,不想用py的也可以关注我,之后更新的题解我会用java,cpp,go都写一遍。有什么相关建议也欢迎讨论

        本文比较适合有点编程基础的人,比如学过java,c,cpp的,不太适合刚入门编程的小白,主要在讲一些基础概念和简单的使用方法,一些经常用不到的也不会讲,比如元组这种,但可以帮助快速入门py,看完我的文章就可以打codeforce的div1比赛(bushi)

基础语法

一,输入和输出

输出:

  • print()

python里面有很多种函数可以用来输出内容,但是刷算法题的话,使用print一般就够输出大多数结果了

#最基础的输出,注意这个默认打印结束后换行
print(1)

#上面的输出等于下面的
print(1, end = '\n')

#如果不换行就是
print(1, end = ' ')

#把两个字符输出到同一行
s_1 = 'abc'
s_2 = 'def'
#逗号默认是空格
print(s_1,s_2)
#加其他字符,字符串
print(s_1, '+', s_2)

还有一种是Python 3.6 引入的格式化字符串字面值(也称为 f-string)来生成一个字符串

(刷算法题目的话,用的比较少)

# 假设我们有两个变量 num1 和 num2
num1 = 5
num2 = 10

# 使用 f-string 执行算术运算并格式化输出
print(f"The sum of {num1} and {num2} is {num1 + num2}.")

输入:

  • input()

输入如果不加类型转换的话,默认是字符串类型

# 基本输入,获取用户输入的字符串
input_val = input("请输入一些内容: ")

# 输入转换为整数,如果转换失败将抛出 ValueError 异常
nums_1 = int(input("请输入一个整数: "))

# 输入转换为浮点数,如果转换失败将抛出 ValueError 异常
nums_2 = float(input("请输入一个浮点数: "))

# 输入转换为字符串(通常不必须,因为 input() 直接返回的就是字符串)
string = input("请输入一个字符串: ")

# 获取单个字符,通过输入一个字符串然后取第一个字符
character = input("请输入一个字符: ")

print(input_val)
print(nums_1)
print(nums_2)
print(string)
print(character)

对于一行的输入


先介绍一下这个split()方法

# 使用 split() 方法分割字符串,默认按空白字符分割
st1 = "1 2 3"
str_split_1 = st1.split()
print(str_split_1)  # 输出: ['1', '2', '3']

# 使用 split() 方法分割字符串,指定分隔符和分割次数
st2 = '1,2,3'
str_split_2 = st2.split(',', 1)
print(str_split_2)  # 输出: ['1', '2,3']

利用 split() 方法处理用户输入的一列数字:

# 读取用户输入并使用空格分割成列表
input_values = input("请输入一列数字,用空格分隔: ").split()

# 将字符串列表转换为整数列表
int_list = [int(value) for value in input_values]

print(int_list)  # 输出转换后的整数列表

如果输入的数字是两三个(不是很多的情况),那么可以这么写,这是列表推导式

n, m = [int(n) for n in input().split()]

如果输入的是一串数字,那么问题现在就变成了怎么把一个列表转换类型

input_value = input().split()
#转换一般可以这么写
n = len(input_value)
int_list1 = [0]*n
fo
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值