算法与Python

算法与Python 知识量:10 - 40 - 100

1.1 变量><

输出和输入- 1.1.1 -

在Python中,可以使用input()函数来获取用户输入,使用print()函数来输出结果。

input()函数用于从标准输入(通常是键盘)获取用户输入,并将其作为字符串返回。例如:

name = input("请输入您的姓名:")    
print("您好," + name + "!欢迎来到Python世界。")

在上面的代码中,input()函数会提示用户输入姓名,并将输入的内容存储在变量name中。然后,print()函数将输出一条欢迎信息,其中包含用户输入的姓名。

print()函数用于将指定的内容输出到标准输出(通常是屏幕)。例如:

print("Hello, world!")

在上面的代码中,print()函数将输出字符串"Hello, world!"。

简单变量类型- 1.1.2 -

Python语言中有几种标准的数据类型,包括数字、字符串、列表、元组和字典。这些数据类型各有各的特点和用途。

1. 数字:用于存储数值,包括整数和浮点数。例如:

num = 10  # 整数      
float_num = 10.5  # 浮点数

2. 字符串:用于存储文本数据。字符串是由零个或多个字符组成的有序字符序列。例如:

str = "Hello, World!"

这两种数据类型虽然简单,但它们是构建更复杂数据结构的基础。例如,列表和元组实际上是数字和字符串的有序集合,而字典则允许使用字符串作为键来索引值。

注意:Python是一种动态类型语言,这意味着不需要预先声明变量的类型。Python会在运行时自动处理类型转换。

数学计算- 1.1.3 -

在Python中,可以对数字进行各种基本数学运算,包括加法、减法、乘法和除法。

下面是一些简单的例子:

# 加法  
num1 = 5  
num2 = 3  
result = num1 + num2  
print(result)  # 输出: 8  
  
# 减法  
result = num1 - num2  
print(result)  # 输出: 2  
  
# 乘法  
result = num1 * num2  
print(result)  # 输出: 15  
  
# 除法  
result = num1 / num2  
print(result)  # 输出: 1.6666666666666667

Python也支持其他更高级的数学运算,如幂运算、取余数等。例如:

# 幂运算  
result = num1 ** 2  # 结果是num1的平方  
print(result)  # 输出: 25  
  
# 取余数  
result = num1 % num2  # 结果是num1除以num2的余数  
print(result)  # 输出: 1

Python还提供了一些内置的数学函数,如math.sqrt()(计算平方根)、math.sin()(计算正弦值)等。例如:

import math  
  
# 计算平方根  
result = math.sqrt(16)  
print(result)  # 输出: 4.0

位运算- 1.1.4 -

Python 支持几种位运算,这些运算直接对整数的二进制位进行操作。以下是 Python 中的位运算符:

  • &(按位与):如果两个相应的二进制位都为 1,则结果为 1,否则为 0。

  • |(按位或):如果两个相应的二进制位都为 0,则结果为 0,否则为 1。

  • ^(按位异或):如果两个相应的二进制位不同,则结果为 1,否则为 0。

  • ~(按位取反):对所有位进行取反,即 0 变为 1,1 变为 0。

  • <<(左移):将数字的所有位向左移动指定的位数。右侧用 0 填充。

  • >>(右移):将数字的所有位向右移动指定的位数。左侧用符号位的值填充(对于正数,符号位为 0;对于负数,符号位为 1)。

以下是一些示例:

a = 60  # 60 = 0010 1100  
b = 13  # 13 = 0000 1001  
  
print(a & b)  # 12 = 0000 1100  
print(a | b)  # 61 = 0010 1101  
print(a ^ b)  # 49 = 0010 0001  
print(~a)     # -61 = 1101 0011 (在 Python 中,负数以补码形式表示)  
print(a << 2) # 240 = 1111 0000  
print(a >> 2) # 15 =  0000 1111

注意:Python 中的整数默认是长整数,无论其大小。因此,右移操作可能会导致结果溢出。如果想限制数字的大小,可以使用固定大小的整数类型,如 Python 的 int 或 C语言风格的固定大小整数类型(如 int32_t)。

使用字符串- 1.1.5 -

Python 中使用字符串非常简单。字符串是 Python 的一种基本数据类型,它表示文本数据。在 Python 中,字符串是由零个或多个字符组成的有序字符序列。

1. 创建字符串

在 Python 中,可以使用单引号、双引号或三引号来创建字符串。例如:

str1 = 'Hello, World!'      
str2 = "Hello, World!"      
str3 = '''This is a multiline string.'''

字符串是不可变的,这意味着一旦创建了一个字符串,就不能修改它的内容。如果需要修改字符串,需要创建一个新的字符串。

2. 字符串操作

Python 提供了许多操作来处理字符串,包括拼接、切片、查找、替换等。例如:

str = "Hello, World!"  
  
# 拼接字符串  
str = str + " Welcome to Python programming!"  
print(str)  # 输出:Hello, World! Welcome to Python programming!  
  
# 切片操作,提取子串  
sub_str = str[7:13]  # 从第 7 个字符开始,到第 13 个字符结束(不包括第 13 个字符)  
print(sub_str)  # 输出:World!  
  
# 查找子串的位置  
position = str.find("World!")  
print(position)  # 输出:7  
  
# 替换子串  
new_str = str.replace("World!", "Python")  
print(new_str)  # 输出:Hello, Python! Welcome to Python programming!

3. 字符串方法

  • Python 还提供了一些字符串方法,可以对字符串进行更复杂的操作。例如:

  • strip():去除字符串开头和结尾的空格或指定的字符。

  • split():将字符串按照指定的分隔符分割成多个子串。

  • lower()、upper():将字符串转换为小写或大写。

  • capitalize():将字符串的第一个字符转换为大写。

  • count():计算字符串中指定子串的出现次数。