Python基础—第七天
小练习:
保存5个学生,4门课程的成绩
courses = ['语文', '数学', '英语', '体育']
scores = [[random.randrange(50, 101) for _ in range(len(courses))]
for _ in range(len(names))]
print(scores)
for i, name in enumerate(names):
for j, course in enumerate(courses):
print(f'{name}的{course}成绩:{scores[i][j]}')
输出每个人的平均分,课程的最高分和最低分
for i, name in enumerate(names):
print(f'{name}的平均分为:{sum(scores[i] ) / len(courses)}')
for j, course in enumerate(courses):
temp = [scores[i][j] for i in range(len(names))]
print(f'{course}的最高分:{max(temp)}')
print(f'{course}的最低分:{min(temp)}')
元组 —> 不可变容器
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
元组的相关运算
fruits1 = ('apple', 'banana', 'grape')
print(type(fruits1))
# 重复运算
print(fruits1 * 3)
print('apple' in fruits1)
print('grape' not in fruits1)
# 成员运算
fruits2 = ('pitaya', 'litchi')
fruits3 = fruits1 + fruits2
print(fruits3)
# 合并运算
print(fruits3[3], fruits3[-1])
print(fruits3[1:4])
print(fruits3[1:4:2])
print(fruits3[::-1])
print(fruits3.index('apple'))
print(fruits3.count('apple'))
元组的应用
pack / unpack —> 打包 / 解包
a, *_, c = 5, 10, 15, 20, 25
print(a)
print(c)
a, b, *c = 5, 10, 15, 20, 25
print(a)
print(b)
print(c)
*a, b, c = 5, 10, 15, 20, 25
print(a)
print(b)
print(c)
# ROT_TWO
a, b = b, a
# ROT_THREE
a, b, c = b, c, a
字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
a = '\'hello,\tworld\b\''
b = "\"hello,\nworld\""
c = '''
hello,
world
'''
print(a)
print(b)
print(c)
# 原始字符串(每个字符都是它原始含义,没有转义字符)
d = r'\hello,world'
print(d)
s1 = '\141\142\143\x61\x62\x63'
print(s1)
# ASCII ---> GB2312 ---> GBK ---> Unicode(UTF-8)
在需要在字符中使用特殊字符时,python 用反斜杠 \ 转义字符。如下表:
练习1:
一个列表中有很多重复元素,写一段代码去掉列表中的重复元素。
items = [15, 12, 12, 15, 12, 35, 47, 45, 35, 12]
unique_items = []
for item in items:
if item not in unique_items:
unique_items.append(item)
print(unique_items)
练习2:
有一个放整数的列表,找出列表中出现次数最多的元素。
nums = [10, 10, 1, 1, 10, 100, 100, 1, 10, 1]
items, max_counter = [nums[0]], nums.count(nums[0])
for num in nums[1:]:
curr_counter = nums.count(num)
if curr_counter > max_counter:
items.clear()
items.append(num)
max_counter = curr_counter
elif curr_counter == max_counter:
if num not in items:
items.append(num)
for item in items:
print(item)
|