Day_05_Homework_Answer
''''''
import random
''' 基础题 '''
# 【注:以下6题功能全部自己使用循环实现,不能借助于Python内置函数: max, min, sort, reverse】
# 1.自定义一个数字列表,获取这个列表中的最小值
# ages = [1,2,3,-4,2,1]
ages = [1,2,3,-4,2,1]
min1 = ages[0]
for n in ages:
if n < min1:
min1 = n
print(min1)
# 2. 自定义一个数字列表,元素为10个 ,找出列表中最大数连同下标一起输出
nums = [1, 4, 3, 2, 5, 66, -3, 2, 4, 5]
max1 = ages[0]
max1_index = 0
for i in range(len(nums)):
if nums[i] > max1:
max1 = nums[i]
max1_index = i
print(max1, max1_index)
# 3. 自定义一个数字列表,求列表中第二大数的下标
nums = [1, 4, 3, 2, 5, 66, -3, 2, 4, 5]
max1 = nums[0]
for n in nums:
if n > max1:
max1 = n
print(max1)
max2 = nums[0] if nums[0]!=max1 else nums[1]
# print("max2:", max2)
for n in nums:
if n > max2 and n!=max1:
max2 = n
print(max2)
for i in range(len(nums)):
if nums[i] == max2:
print(i, end=' ')
print()
# 4. B哥去参加青年歌手大奖赛 ,有10个评委打分 ,(去掉一个最高分一个最低分)求平均分
nums = [10, 40, 30, 20, 50, 66, 3, 20, 40, 50]
max1 = nums[0]
min1 = nums[0]
for n in nums:
if n > max1:
max1 = n
if n < min1:
min1 = n
print(max1, min1)
print((sum(nums) - max1 - min1) / (len(nums)-2))
# 5. 定义列表,存放5个学生的成绩【成绩值自己设定】,获得成绩之和,平均成绩,最小成绩,最大成绩。
nums = [10, 40, 30, 20, 50, 66, 3, 20, 40, 50]
max1 = nums[0]
min1 = nums[0]
for n in nums:
if n > max1:
max1 = n
if n < min1:
min1 = n
print(sum(nums))
print(sum(nums)/len(nums))
print(min1)
print(max1)
# 6. 将一个列表逆序输出, 提示: range(6,-1,-1)
nums = [2, 3, 4, 1, 5]
# print(nums[::-1])
for i in range(4, -1, -1):
print(nums[i], end=' ')
print()
# 7.完成猜拳游戏
# -----------------------------
# 请输入你的选择:
# 1. 石头
# 2. 剪刀
# 3. 布
# -----------------------------
# 如: 你的选择是【布】, 电脑的选择是【石头】
# 恭喜你获得了胜利!
print('''
-----------------------------
请输入你的选择:
1. 石头
2. 剪刀
3. 布
-----------------------------
''')
# me = int(input('请输入您的选择:'))
# computer = random.randint(1, 3)
# if me == computer:
# print("平手")
# elif me - computer == -1 or me - computer == 2:
# print("恭喜您获得了胜利")
# else:
# print("输了")
''' 进阶题:可以使用内置函数 '''
nums = [10, 40, 30, 20, 50, 66, 3, 20, 40, 50]
n = 40
for i in range(nums.count(n)):
nums.remove(n)
print(nums)
nums = [10, 40, 30, 20, 50, 66, 3, 20, 40, 50]
max_index = 0
min_index = 0
for i in range(len(nums)):
if nums[i] > nums[max_index]:
max_index = i
if nums[i] < nums[min_index]:
min_index = i
nums[max_index], nums[0] = nums[0], nums[max_index]
nums[min_index], nums[-1] = nums[-1], nums[min_index]
print(nums)
list1 = ["One", "Two", "Three"]
list2 = list1.copy()
list2.reverse()
print(list1 + list2)
nums = [6, 4, 7, 2, 5, 8]
n = 10
for i in range(len(nums)):
for j in range(i, len(nums)):
if nums[i] + nums[j] == n:
print(nums[i], nums[j])
nums = [2, 3, 4, 56, 67, 98]
n = 100
for i in range(len(nums)):
if n < nums[i]:
nums.insert(i, n)
break
else:
nums.append(n)
print(nums)
list1 = [1, 2, 3, 5, 4, 4, 4, 5, 5, 3, 2, 1]
list2 = []
for n in list1:
if n not in list2:
list2.append(n)
print(list2)