最全-python教程示例大全 同步学习

文章目录

第1章 计算机基础及Python简介

第2章 编写简单的程序

2.1 示例程序

例2-1 任意输入两个整数,求这两个整数的和及平均值。

m = eval(input("input first number: "))
n = eval(input("input second number: "))
sum = m + n
avg = (m+n)/2
print("和为: ",sum)
print("平均值为: ",avg)
input first number: 



Traceback (most recent call last):


  File "D:\Application\Anaconda\envs\py36\lib\site-packages\IPython\core\interactiveshell.py", line 3343, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)


  File "<ipython-input-1-de036dfe0c81>", line 1, in <module>
    m = eval(input("input first number: "))


  File "<string>", line unknown
    
    ^
SyntaxError: unexpected EOF while parsing

2.2 标识符及命名规范

2.3 变量与赋值语句

2.3.1 Python语言中的变量

例2-2 变量动态类型示例及讨论。

m = 2
type(m)
int
m = 2.6
type(m)
m = '你好'
type(m)

例2-3 变量的强数据类型示例。

a = 100
b = "30"
a + b

2.3.2 变量的赋值

例2-4 变量的赋值示例。

x = 100
print(x)
str = "I am a boy."
print(str)
print(y)

2.3.3 链式赋值语句

例2-5 链式赋值语句示例。

x = y = z =200
print(x,y,z)
x = x + 100
y = y - 100
print(x,y,z)

2.3.4 解包赋值语句

例2-6 解包赋值语句示例。

a,b = 100,200
print(a,b)
100 200

例2-7 利用解包赋值语句实现两个变量值的交换。

a = 100
b = 200
print("a=",a,"b=",b)
a= 100 b= 200
a,b = b,a
print('a=',a,"b=",b)
a= 200 b= 100

2.4 数据的输入与输出

2.4.1 输入函数input()

例2-8 input()函数输入交互示例。

name = input("请输入您的姓名:")
请输入您的姓名:Sandy

例2-9 使用eval()函数获取input()函数输入的数值类型数据。

m = input("请输入整数1:")
n = input("请输入整数2:")
print("m和n的差是:",m-n)
请输入整数1:6
请输入整数2:3



---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-28-93fffc5453d1> in <module>
      1 m = input("请输入整数1:")
      2 n = input("请输入整数2:")
----> 3 print("m和n的差是:",m-n)


TypeError: unsupported operand type(s) for -: 'str' and 'str'
#修改1
m = eval(input("请输入整数1:"))
n = eval(input("请输入整数2:"))
print("m和n的差是:",m-n)
请输入整数1:6
请输入整数2:3
m和n的差是: 3
#修改2
m = input("请输入整数1:")
n = input("请输入整数2:")
print("m和n的差是:",eval(m)-eval(n))
请输入整数1:6
请输入整数2:3
m和n的差是: 3

2.4.2 输出函数print()

例2-10 print()函数输出示例。

print(3+5)
print("3+5 =",3+5)

例2-11 print()函数中的换行控制。

print(3)
print(4)
print("the answer is ",end = "")  #使用end="",输出字符串后不换行
print(3+4)                        #在上一行继续输出3+4的结果
3
4
the answer is 7

2.5 数值

2.5.1 数值数据类型

例2-12 学生参加体育测试,有三个单项,分别是短跑、3分钟跳绳和跳远。每个单项的满分均为100分,且单项成绩为整数,单项成绩分别一0.4、0.3和0.3的权重计入测试总评成绩。输入一名学生的三个单项成绩,计算他的体育测试总评成绩。

run = eval(input("短跑成绩:"))
rope = eval(input("3分钟跳绳成绩:"))
longJump = eval(input("跳远成绩:"))

score = run * 0.4 + rope * 0.3 + longJump * 0.3
print("体育测试总评成绩:", score)

例2-13 整数类型数据与浮点类型数据示例。

x = 123
y = 12.3
m = 12.
n = .98
k = 12e-5
print(m,n,k)
12.0 0.98 0.00012

2.5.2 内置的数值操作

例2-14 商店需要找钱给顾客,现在只有50元、5元和1元的人民若干张。输入一个整数金额值,给出找钱的方案,假设人民币足够多,且优先使用面额大的钱币。

money = eval(input("输入金额:"))
m50 = money // 50
money = money % 50
m5 = money // 5
money = money % 5
m1 = money
print("50元面额需要的张数:",m50)
print("5元面额需要的张数:",m5)
print("1元面额需要的张数:",m1)
输入金额:354
50元面额需要的张数: 7
5元面额需要的张数: 0
1元面额需要的张数: 4

例2-15 复合赋值运算符示例。

a,b = 10,20
a += b
a %= 2
b **= 2
print(a)
print(b)

例2-16 内置数值运算函数使用示例。

#abs(-2)
divmod(28,12)
#round(3.1415,2)
#pow(2,3)
#max(2,5,0,-4)
#min(2,5,0,-4)
(2, 4)

例2-17 math库中数值函数使用示例。

import math
print(math.fabs(-3.2),math.fmod(21,5))
print(math.fsum([0.1,0.2,0.3]))
print("12和28的最大公约数:",math.gcd(12,28))
3.2 1.0

2.6 字符串

a = "我是{}班{}号的学生{}".format("化工1701",28,"赵帅")    
b = "我是{1}班{2}号的学生{0}".format("赵帅","化工1701",28)
print(a)
print(b)

例2-42 format方法对字符串的格式化示例

"{:*^20}".format("Mike")
"{:=<20}".format("Mike")

例2-43 format()方法对实数和整数的设置示例

"{:.2f}".format(3.1415926)
"{:.4f}".format(3.1415926)
"{:=^30.4f}".format(3.1415926)

2.7 混合运算和类型转换

例2-46 在input()函数输入中将字符类型数据转换成数值类型数据

import math 
result = (math.pi)**2+3
print("the result of pi^2+3 is: ",result)

第3章 程序流程控制

3.1 条件表达式

例 3-1 关系运算符使用示例

3.2 选择结构

例3-3 输入三角形三条边的边长,计算三角形的面积

import math
a = float(input("请输入三角形的边长a: "))
b = float(input("请输入三角形的边长b: "))
c = float(input("请输入三角形的边长c: "))
p = (a+b+c)/2
area = math.sqrt(p*(p-a)*(p-b)*(p-c))
print("三角形的面积为: {:.2f}".format(area))

例3-4 用户使用键盘输入两个任意整数a和b,比较a和b的大小,并输出a和b,其中a为输入的两个整数中的较大者。

a = int(input("请输入整数a: "))
b = int(input("请输入整数b: "))
print("输入值 a = {},b={}".format(a,b))
if a < b:
    a,b = b,a
print("比较后的值 a = {},b = {}".format(a,b))

例 3-5 判断回文字符串

str1 = input("请输入字符串:")
if (str1 == str1[::-1]):
    print(str1 + "为回文串")
else:
    print(str1 + "不是回文串")

例 3-6 输入三条线段的长度,对用户输入的数据做合法性检查,并求由这三条线段围成的三角形的面积。

import math
a = float(input("请输入三角形的边长a: "))
b = float(input("请输入三角形的边长b: "))
c = float(input("请输入三角形的边长c: "))
if(a+b>c and a+c>b and b+c>a and a>0 and b>0 and c>0):
    h = (a+b+c)/2
    area = math.sqrt(h*(h-a)*(h-b)*(h-c))
    print("三角形的面积为:{:.2f}".format(area))
else:
    print("用户输入数据有误!")

例3-7 根据用户的身高和体重,计算用户的BMI指数,并给出相应的健康建议。BMI指数,即身体质量指数,是用体重(kg)除以身高(m)的平方得出的数字。

过轻:低于18.5
正常:18.5-23.9
过重:24-27.9
肥胖:28-32
过于肥胖:32以上

height = eval(input("请输入您的身高(m): "))
weight = eval(input("请输入您的体重(kg): "))
BMI = weight/height/height
print("您的BMI指数是: {:.1f}".format(BMI))
if BMI < 18.5:
    print("您的体型偏瘦,要多吃多运动哦!")
elif 18.5 <= BMI < 24:
    print("您的体型正常,继续保持!")
elif 24 <= BMI < 28:
    print("您的体型偏胖,有发福迹象!")
elif 28 <= BMI < 32:
    print("不要悲伤,您是个迷人的胖子!")
else:
    print("什么也不说了,您照照镜子就知道了......")

例 3-8 使用键盘输入一个三位数的正整数,输出其中的最大的一位数字是多少。

num = int(input("请输入一个三位正整数:"))
a = str(num)[0]
b = str(num)[1]
c = str(num)[2]
if a > b:
    if a > c:
        max_num = a
    else:
        max_num = c
else:
    if b > c:
        max_num = b
    else:
        max_num = c
print(str(num) + "中最大的数字是:"+ max_num)

3.3 循环结构

例 3-9 统计英文句子中大写字符、小写字符和数字各有多少个。

str = input("请输入一句英文:")
count_upper = 0
count_lower = 0
count_digit = 0
for s in str:
    if s.isupper(): count_upper = count_upper + 1
    if s.islower(): count_lower = count_lower + 1
    if s.isdigit(): count_digit = count_digit + 1
print("大写字符:",count_upper)
print("小写字符:",count_lower)
print("数字字符:",count_digit)

例 3-10 利用for循环求1-100中所有整数的和。

sum = 0
for i in range(1,100+1):
    sum = sum + i
print("sum=", sum)

例3-11 利用for循环求1-100中所有的奇数和偶数的和分别是多少。

sum_odd = 0
sum_even = 0
for i in range(1,100+1):
    if i % 2 == 1:
        sum_odd = sum_odd + i
    else:
        sum_even = sum_even + i
print("1-100中所有的奇数和",sum_odd)
print("1-100中所有的偶数和",sum_even)

例 3-12 利用for循环求正整数n的所有约数,即所有能把n整除的数。例如,输入6,输出1,2,3,6。

n = int(input("请输入一个正整数:"))
for i in range(1,n+1):
    if n % i == 0:
        print(i,end = '  ')
n = int(input("请输入一个正整数:"))
for i in range(n,0,-1):
    if n % i == 0:
        print(i,end = '  ')

例3-13 利用while语句求1-100中所有整数的和

sum = 0
i = 1
while i <= 100:
    sum = sum + i
    i = i + 1
print("sum =",sum)

例3-14 求非负数字序列中的最小值、最大值和平均值。用户输入-1就表示序列终止。

count = 0
total = 0
print("请输入一个非负整数,以-1作为输入结束!")
num = int(input("输入数据:"))
min_num = num
max_num = num
while(num != -1):
    count += 1
    total += num
    if num < min_num: min_num = num  
    if num > max_num: max_num = num
    num = int(input("输入数据:"))
if count > 0:
    print("最小{},最大{},均值{:.2f}".format(min_num,max_num,total/count))
else:
    print("输入为空")
        
        

例3-15 有一类数学计算问题需要使用while循环。对于这类问题,人们设计出一套反复计算的规则,称为迭代规则,并证明了反复使用迭代规则就一定能得到解,但何时结束要看计算的实际进展情况。下面利用迭代规则来求解一个实数的算术平方根,人们提出的计算规则如下:
(1)假设需要求正实数x的算术平方根,任取y为某个正实数。
(2)如果y×y=x,计算结束,y就是x的算术平方根。
(3)否则令z = (y+x/y)/2。
(4)令y的新值等于z,转回步骤(1)。
按上述规则反复计算,可以得到一个y的序列。已经证明这个序列将趋向于x的算术平方根。这种计算算术平方根的方法被称为“牛顿迭代法”,代码如下:

###当输入2.0,程序陷入死循环。
x = float(input("输入一个实数:"))
y = 1.0
while y*y != x:
    y = (y + x / y)/2
    print(y,y*y)
print("算术平方根为:",y)
###用牛顿迭代法求算术平方根
import math
x = float(input("输入一个正实数:"))
n = 0
y = 1.0
while abs(y*y-x) > 1e-8:
    y = (y+x/y)/2
    n = n+1
    print(n,y)
print("算术平方根为:",y)
print("sqrt求算术平方根为:",math.sqrt(x))

例3-16 判断一个正整数n (n>=2)是否为素数。称一个大于1且除了1和它自身外,不能被其他整数整除的数为素数;否则称为合数。

n = int(input("输入一个正整数 n(n>=2):"))
for i in range(2,n):
    if n%i == 0: break
if i == n-1:
    print(n,"是素数")
else:
    print(n,"不是素数")
        

例3-17 求两个正整数m和n的最大公约数。

m = int(input("输入一个正整数m: "))
n = int(input("输入一个正整数n: "))
for i in range(min(m,n),0,-1):
    if m % i == 0 and n % i == 0:
        print("{}和{}的最大公约数为:{}".format(m,n,i))
        break

例3-18 用带else子句的循环结构判断正整数n是否为素数。

 n = int(input("请输入一个正整数n(n>=2):"))
 for i in range(2,n):
    if n%i == 0:
        print(n,"不是素数")
        break
else:
    print(n,"是素数")
    

例3-19 打印"*"组成的图形。

for i in range(5):
    for m in range(10):
        print("*", end = ' ')
    print()
#打印'* '组成的图形
for m in range(1,5+1):
    for i in range(1,m+1):
        print('*',end = ' ')
    print()
for m in range(1,5+1):
    for i in range(1,6-m+1):
        print('*',end = ' ')
    print()

例3-20 找出300以内的所有素数。

for n in range(2,300):
    for i in range(2,n):
        if n % i == 0:
            break
    else:
        print("{:>4}".format(n),end = ' ')
#统计2--300之间素数的个数
count = 0
for n in range(2,300):
    for i in range(2,n):
        if n % i == 0:
            break
    else:
        print("{:>4}".format(n),end = ' ')
        count += 1
print("\n共有{}个素数".format(count))

3.4 random库的基本应用

例 3-21 使用random库示例

from random import *
random()
ls = [1,2,3,4,5,6,7,8]
shuffle(ls)
print(ls)

例3-22 赌场中有一种称为“幸运7”的游戏,游戏规则是玩家掷两枚骰子,如果其点数之和为7,玩家就赢4元;不是7,玩家就输1元。请你分析一下,这样的规则是否公平。

from random import *
count = 0
for i in range(100000):
    num1 = randint(1,6)
    num2 = randint(1,6)
    if num1 + num2 == 7:
        count += 1
print(count/100000)
#  "幸运7"游戏 例 3-22-2
from random import *
money = 10
max = money
while money > 0:
    num1 = randint(1,6)
    num2 = randint(1,6)
    if num1 + num2 == 7:
        money += 4
        if money > max: max = money
    else:
        money -= 1
    print(money, end = ' ')
print("\nmax = ", max)

3.5 程序流程控制应用实例

例 3-23 找出所有的水仙花数。水仙花数是指一个3位数,它的每一位上的数字的3次幂之和等于它本身(如 1×1×1 + 5×5×5 + 3×3×3 = 153)。

for i in range(100,999+1):
    a = i//100
    b = i//10%10
    c = i%10
    if a**3 + b**3 + c**3 == i:
        print(i, end = " ")

例 3-24 找出1000以内所有的完全数。完全数又称完美数或完备数,是一些特殊的自然数,它所有的真因子的和,恰好等于它本身。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8 128、33 550 336等。

for n in range(1,999+1):
    sum = 0
    for i in range(1,n):
        if n % i == 0:
            sum += i
    if sum == n:
        print(n, end = " ")

例3-25 无穷级数4/1-4/3+4/5-4/7+…的和是圆周率pi,请编写一个程序计算出这一级数前n项的和。

n = int(input("请输入项数:"))
PI =  0
for i in range(1,n+1):
    PI = PI + (-1)**(i+1)*(1/(2*i-1))
print("PI = ", PI*4)
import math
PI =  0
i = 1
count = 0
while abs(PI*4 - math.pi) >= 1e-6:
    PI = PI + (-1)**(i+1)*(1/(2*i-1))
    i += 1
    count += 1
print("PI = {}, 级数的前{}项数 ".format(PI*4,count))

例3-26 斐波那契数列因数学家列昂纳多.斐波那契以兔子繁殖为例而引入,故又称为“兔子数列”。斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,…,这个数列从第3项开始,每一项都等于前两项之和。现要求输出该数列的前n项,每行输出4个数字。

n = int(input("输入数列项数: "))
x1 = 1
x2 = 1
count = 2
print("{:>8}{:>8}".format(x1,x2), end = " ")
for i in range(3,n+1):
    x3 = x1 + x2
    print("{:>8}".format(x3),end = " ")
    count += 1
    if count % 4 == 0: print()
    x1 = x2
    x2 = x3

第4章 列表与元组

4.1 列表介绍与元素访问

例4-1 根据输入的数字输出对应的月份信息。例如,输入“6”,则输出“It’s June.”

months = ["January", "February", "March","April","May","June","July","August","September","October","November","December"]
m = eval(input("请输入月份:"))
print("It's {}.".format(months[m-1]))

4.2 操作列表元素

4.2.1 修改元素

guests = ['萧峰','杨过','令狐冲','张无忌','郭靖']
print("guests原列表元素          {}:".format(guests))
guests[-1] = "黄蓉"
print("guests修改列表最后一个元素{}:".format(guests))

4.2.2 增加元素

guests = ['萧峰', '杨过', '令狐冲', '张无忌', '黄蓉']
guests.append("段誉")
print("guests增加列表元素{}:".format(guests))
len(guests)
guests.insert(0,"张三丰")
print("guests插入列表元素到指定位置{}:".format(guests))

4.2.3 删除元素

#del删除列表元素“黄蓉”
guests = ['萧峰', '杨过', '令狐冲', '张无忌', '黄蓉', '段誉']
print("删除列表元素“黄蓉”之前{}".format(guests))
del guests[-2]
print("删除列表元素“黄蓉”之后{}".format(guests))
#pop()方法通过指定索引从列表中删除对应元素,并返回该元素。
guests = ['张三丰','萧峰','杨过','令狐冲','张无忌','郭靖']
print("原列表元素{}".format(guests))
itemDel = guests.pop(4)
print("元素'{}'已从列表中成功删除!".format(itemDel))
#使用remove方法删除指定元素
guests = ['萧峰', '杨过', '令狐冲', '张无忌', '黄蓉', '段誉']
print("原列表元素{}".format(guests))
guests.remove("段誉")
print("现列表元素{}".format(guests))
#使用remove方法删除含有重复的元素
guests = ['萧峰', '杨过','黄蓉',  '令狐冲', '张无忌', '黄蓉', '段誉']
print("原列表元素{}".format(guests))
guests.remove("黄蓉")
print("现列表元素{}".format(guests))
#len() 函数
guests = ['张三丰','萧峰', '杨过', '令狐冲', '张无忌', '黄蓉', '段誉']
len(guests)
#  元素 in 列表
guests = ['萧峰', '杨过','黄蓉',  '令狐冲', '张无忌', '黄蓉', '段誉']
'萧峰' in guests
# index() 方法
guests = ['萧峰', '杨过','黄蓉',  '令狐冲', '张无忌', '黄蓉', '段誉']
guests.index('黄蓉')
# count()方法 统计并返回列表中指定元素的个数。
guests = ['萧峰', '杨过','黄蓉',  '令狐冲', '张无忌', '黄蓉', '段誉','萧峰']
guests.count('萧峰')

4.3 操作列表

例 4-2 警察抓了A、B、C、D四个偷窃嫌疑犯,其中只有一个人是真正的小偷,审问记录如下:
A 说:“我不是小偷。”
B 说:“C是小偷。”
C 说:“小偷肯定是D。”
D 说:“C在冤枉人。”
已知四个人中有三个人说的是真话,一个人说的是假话。请问到底谁是小偷?

4.3.1 遍历列表

suspects = ['A','B','C','D']
for x in suspects:
   if (x != 'A') + (x == 'C') + (x == 'D') + (x != 'D') == 3:
        print("小偷是:",x)
        break    

4.3.2 列表排序

# 1.sort() 方法 表示列表元素从小到大按升序排列
guests = ['Lily', 'Sara', 'Peter', 'Zen']
guests.sort()
print(guests)
# 2.sorted()函数 对指定的列表进行排序: sorted(列表,reverse) 
guests = ['Lily', 'Sara', 'Peter', 'Zen']
guests_new = sorted(guests,reverse = True)
print("排序前:",guests)
print("排序后:",guests_new)

4.3.3 列表切片

guests = ['张三丰','萧峰','杨过','令狐冲','张无忌','郭靖']
guests[1:3]
guests = ['张三丰','萧峰','杨过','令狐冲','张无忌','段誉','虚竹']
print("guests: ",guests)
print("guests[:5]: ",guests[:5])
print("guests[3:]: ",guests[3:])
print("guests[:]: ",guests[:])
print("guests[:-1]: ",guests[:-1])
print("guests[1:5:2]: ",guests[1:5:2])
print("guests[::-1]: ",guests[::-1])

4.3.4 列表的扩充

# “+”运算
guests = ['张三丰','萧峰','杨过','令狐冲','张无忌','段誉','虚竹']
ls = ['李秋水','郭襄','赵敏','任盈盈','袁紫衣']
guests + ls
# extend() 方法
guests = ['张三丰','萧峰','杨过','令狐冲','张无忌','段誉','虚竹']
ls = ['李秋水','郭襄','赵敏','任盈盈','袁紫衣']
guests.extend(ls)
print(guests)
# “*”运算
ls = ['李秋水','郭襄','赵敏','任盈盈','袁紫衣']
print(ls*3)

4.3.5 列表的复制

#1 利用切片实现
guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹', '李秋水', '郭襄', '赵敏', '任盈盈', '袁紫衣']
guestsCopy = guests[:]
print(guestsCopy)
#2 Copy 方法
guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹', '李秋水', '郭襄', '赵敏', '任盈盈', '袁紫衣']
guestsCopy = guests.copy()
print(guestsCopy)
#3 列表之间的赋值
guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹', '李秋水', '郭襄', '赵敏', '任盈盈', '袁紫衣']
guests1 = guests
print(guests1)
# 深拷贝和浅拷贝的区别
# 切片和 copy()方法术语深拷贝
# 直接赋值属于浅拷贝
guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹', '李秋水', '郭襄', '赵敏', '任盈盈', '袁紫衣']
guestsCopy = guests.copy()
del guestsCopy[0]
print("guests: ",guests)
print("guestsCopy: ", guestsCopy)
# 深拷贝和浅拷贝的区别
# 切片和 copy()方法术语深拷贝
# 直接赋值属于浅拷贝
guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹', '李秋水', '郭襄', '赵敏', '任盈盈', '袁紫衣']
guests1 = guests
del guests1[0]
print("guests: ",guests)
print("guests1: ", guests1)

4.3.6 列表的删除

guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹']
del guests[2:4]
guests
#guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹']
del guests[:]
guests
# 删除列表 del 列表名
guests = ['张三丰', '萧峰', '杨过', '令狐冲', '张无忌', '段誉', '虚竹']
del guests
guests

4.4 数值列表

4.4.1 创建数值列表

#1 通过input()函数输入
lnum = eval(input("请输入一个数值列表:\n"))
print(lnum)
type(lnum)
#2 通过list()函数转换
lnum = list(range(1,11))
lnum

4.4.2 列表生成式

#利用循环生成列表
lnum = []
for i in range(1,11):
    lnum.append(i**2)
lnum
#列表生成式
lnum = [i**2 for i in range(1,11)]
lnum

4.4.3 简单统计计算

例 4-3 输入10位学生的考试成绩,统计并输出其中的最高分、最低分和平均分。

#根据输入的10位学生的考试成绩,求最高分、最低分和平均分
score = eval(input("请输入10个同学的分数列表\n"))
maxScore = max(score)
minScore = min(score)
aveScore = sum(score)/len(score)
print("这次考试的最高分是{},最低分是{},平均分是{}。\n".format(maxScore,minScore,aveScore))
请输入10个同学的分数列表
1,2,3,4,5,6,7,8,9,10
这次考试的最高分是10,最低分是1,平均分是5.5。

4.5 元组

4.5.1 定义元组

# 定义元组,将多元素用“,”隔开
tupScores = (98,86,95,94,92)
print(tupScores)
print(type(tupScores))

4.5.2 操作元组

4.5.3 元组充当列表元素

group1 = [("萧峰",98),("杨过",96)]
print(group1[0])
print(group1[0][0])
#不能修改元组元素
group1 = [("萧峰",98),("杨过",96)]
group1[0][1] = 92
#通过新的元组元素替换原元组元素
group1 = [("萧峰",98),("杨过",96)]
group1[0] = ("萧峰",92)
group1

4.6 转换函数

#1 元组与列表之间的转换
tupPlay1 = ("萧峰","男",98)
print("{} is a tuple.".format(tupPlay1))
listPlay1 = list(tupPlay1)
print("{} is a list.".format(listPlay1))
#2 字符串与列表之间的转换
name = "张三丰,萧峰"
guests = list(name)
guests
#3 split()方法
# 列表 = 字符串.split(分隔符)  缺省为空格
name = "张三丰,萧峰"
guests = name.split(',')
guests

4.7 列表与元组应用实例

例 4-4 筛选法求素数。


                
  • 7
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值