结构与类型

108 阅读5分钟
选择结构
if 表达式A:
     语句块A
elif 表达式B:
     语句块B
     ……
else:
     语句块N

eg:

source = float(input('please input a number'))
if source >= 90:
    grade = 'A'
elif source >= 80:
    grade = 'B'
elif source >= 70:
    grade = 'C'
else:
    grade = 'D'
print('等级为{}'.format(grade))

if的嵌套

source = float(input('please input a number'))
if source >= 60:
    if source >= 90:
        grade = 'nice'
    else:
        grade = 'qualified'
else:
    grade = 'No'
print('成绩为{}'.format(grade))
循环结构

while语句:

while 表达式:
​
       语句块
else:
       语句块  #当while表达式为False是执行else语句

eg:

'''求1+2+……+100'''
​
end = int(input('请输入一个终止值'))
rep = 1
sum = 0
while rep <= end:
    sum += rep
    rep += 1
print('结果为:',sum)

for语句:

for <取值> in <序列或迭代对象>:

语句块A

else:

语句块B

for循环完了之后如果有else则执行else语句,再结束for循环;如果没有else,则直接结束for循环。

range()函数

功能:从start开始,以step为步长,直到stop为止,依次产生整数序列。

range(start,stop,step)

注意:stop不包括

start省略是默认为0,step省略时默认为1

当有step时,start不可省略。

素数:只能被1和本身整除

n = int(input('shuruyigeshuzi'))
for k in range(2,n):
 if n%k == 0:
     print('%d不是素数'%n)
     break
else:
     print('%d是素数'%n)
​

sort()函数

序列.sort()

功能:排序,默认为升序,即reverse=False;若加入参数reverse,则为降序,即reverse=True

name = []
while True:
    str = input('输入一个同学的名字缩写,请以-1结尾')
    if str == '-1':
        break
    else:
        name.append(str)
print(name)
name.sort(reverse = False)#升序
print(name)
name.sort(reverse = True)#降序
print(name)

基本输入输出:input() print()

使用import导入模块库。 库名.属性名 即可调用模块属性进行使用。

查看所拥有的属性和方法:dir(对象/模块)

查看帮助:help(对象/模块)

查看类型:type(对象/模块)

通过循环可以访问列表、元组和字典的元素。


列表(list)

把所有元素放入[]中,用逗号隔开,同一个列表中的元素可以是不同的类型。

列表是一种可变序列的类型,可以进行增加、删除、修改等操作。

方法解释
list.append(对象)在列表尾部追加元素。
list.count(数量)返回列表中某元素出现的次数。
list.extend(一列对象)在列表的尾部追加另一个列表。
list.index(值,start,stop)返回某元素在列表中的位置。
list.insert(索引,对象)在列表的某个位置插入一个元素。
list.pop([索引])返回列表中索引位置的元素,并删除该元素,省略参数则是指列表尾部位置。
list.remove(值)删除列表中的指定元素,若有多个,则删除第一个。
list.reverse()将列表中元素的顺序颠倒。
list.sort(reverse=True)将列表中的元素按升序排列,若是reverse=False,则按降序排列。
del 列表名删除一个实列对象
x = [1,2,3,4,1,5]
y = [2,3,4,4]
#list.append(对象)
x.append(6)
print(x)
#list.count()
print(x.count(1))
#list.extend()
x.extend(y)
print(x)
#list.index()
print(x.index(4))
#list.insert()
x.insert(2,7)
print(x)
#list.pop()
x.pop()
print(x)
#list.remove()
x.remove(7)
print(x)
#list.reverse()
x.reverse()
print(x)

image-20230526133946397

列表的切片

用于截取列表中的任何部分以获得一个新的列表,也可以进行元素值的修改。

列表名[start:stop:step]

start:默认为0;stop:结束位置默认为列表的长度,不包含该位置的元素;step:步长,默认为1。


元组(tuple)

把所有元素放入()中,用逗号隔开。一个元组的元素可以是不同类型。

元组是不可变序列,不可增加也不可以删除元素,可以用元组来保存一些固定的值。

注意:创建只包含一个元素的元组时,元素后面要加一个“,”,未加则视为一个括号表达式。

x = (1, 2, 3, 4, 5)
x = (1,)

访问元组中的元素,同列表一样,通过下标和切片进行访问。

x = (1, 2, 3, 4, 5)
print(x[0])

元组的切片同列表的切片用法一样。


字符串

用单引号/双引号/三引号 引出的字符序列,字符串属于不可变序列。

三引号一般使用于在多行字符串中。

转义字符:

字符解释
\n换行
\t制表符
\r回车
'字符串中的单引号
\字符串中的\
"字符串中的双引号
\ddd3位八进制对应的字符
\xhh2位十六进制对应的字符

字符串的运算:

使用+ * 进行运算

+:连接两个字符串

*:将字符串重复n次

sentence = 'abc'+'bcd'
print(sentence) #abcbcd
str = 'abc' * 3
print(str)#abcabcabc

string.strip():去除字符串首位的空格、\n、\r、\t,如有指定,则去除字符串首尾指定的字符。

len():返回字符串的长度。


字典

用{}将所有元素括起来,用逗号分隔。字典是无序的,访问元素是通过“键”实现,字典中的键不能重复。每个元素都是“键:值”对形式存在。

dict = {'a': 1, 'b': 2, 'c': 3}
print(dict)

修改字典元素的值

dict = {'a': 1, 'b': 2, 'c': 3}
dict['a'] = 2

新增元素,直接将赋值给一个新的键,就添加了一个元素。

dict = {'a': 1, 'b': 2, 'c': 3}
dict['d'] = 4

删除元素/整个字典

dict = {'a': 1, 'b': 2, 'c': 3}
del dict['a']
del dict

字典的操作方法:

dict.clear( ):清楚字典

dict.copy( ):复制字典

dict.popitem( ):从字典中删除任一元素,并返回它

可以使用dir(dict)查看字典相关的属性和方法。


常量

执行中值不变的量,例如78,25,89为数值常量,‘python’为字符串常量,python内部还建有一些常量。

  1. None:没有值的对象。
  2. True、False:逻辑常量。
  3. python中任何空值都是为逻辑假,其余是为真。

布尔型可以当作特殊的整型,True为1,False为0。

True+True #1

复数型

包括实部和虚部的数据

3+4j