当前位置: 首页 > news >正文

《练习100》86~90

题目86

# 生成一个包含20个随机整数(100以内)的列表,对其中偶数索引(下标)的数据进行降序排列,奇数索引的元素不变
import random
list1 = [random.randint(0,100) for _ in range(20)]
list2 = list1[::2]
list3 = list1[1::2]
list_tmp = list1[:]
list2.sort(reverse=True)
print(list1)
list1.clear()
for i in range(10):list1.extend((list2[i], list3[i]))
print(list1)# 这是答案
print(list_tmp)
list_tmp[::2] = sorted(list_tmp[::2], reverse=True)
print(list_tmp)        # 原来切片可以放在等号右边(我把它理解成分段赋值)
# 练习一下list1 = [1,2,3,4,5,6]
print(list1)
list1[:] = ['a' for _ in range(6)]
print(list1)
list1[::2] = [1 for _ in range(3)]
print(list1)
list1[1::2] = ['cccc' for _ in range(3)]
print(list1)
list1[3:7] = ['DDDDD' for _ in range(3)]
print(list1)
list1[3:7:2] = ['FFFFFFF' for _ in range(2)]
print(list1)# 这样的使用的话,注意右边列表中的元素数量要和左边一样,不一样要报错
# list1[3:7:2] = ['FFFFFFF' for _ in range(10)] #attempt to assign sequence of size 10 to extended slice of size 2

题目87

# 最少多少个9能整除输入的奇数
def get_divisibility(div:int):x = '9'while True:if not int(x) % div:return len(x)x += '9'while True:try:num = int(input('请输入一个奇数:\n'))if  not num % 2  or not num % 5:raise ValueError()cnt = get_divisibility(num)print(f'{cnt}个"9"能整除{num}')except (ValueError, TypeError):print('请输入一个位不是5个奇数!!!!!!!!!!!')

题目88

# 809 * ?? = 800 * ?? + 9 * ?? 
# 条件:
# ?? 是一个两位数 
# 809 * ?? 是一个四位数
# 8* ?? 是一个两位数
# 9*??是一个三位数
# 求 ??代表的两位数以及809*??后的结果a = 809
for i in range(10,100):if 809 * i == 800 * i + 9 * i and 1000 <= 809 * i <10000 and 10 <= 8 * i < 100 and 100 <= 9 * i < 1000:print(i)break# 8 和 9 乘以这个两位数,正好是两位数和三位数的边界,直接穷举
# 10 8 * 10 = 80 9 * 10 = 90 这个pass
# 11   88    99   pass
# 12   96    108  
# 13  8 * 13 = 104 这个直接排除掉了for i in range(10,100):if i * 8 < 100 and i * 9 > 100:print(i)break

题目89

# 列表偏移 list = [1,2,3,4,5] 向右偏移两位,变成[4,5,1,2,3]list1 = [1, 2, 3, 4, 5]
list2 = list1[:]
list3 = list1[:]# 整体向右移动两位,意思就是把最后两个元素依次插入到原来的列表头
def right_move(origin, step: int):tmp = origin[:]for i in range(step):tmp.insert(0, origin[-i-1])return tmp[:len(tmp) - step]print(list1)
list1 = right_move(list1, 2)
print(list1)# 利用拼接(原列表的倒数两个 + 原列表整数三个)
print(list2)
list2 = list2[-1:-1-2:-1] + list2[:len(list2) - 2]
# list2 = list2[len(list2) - 2:] + list2[:len(list2) - 2]
print(list2)

题目90

# 输入n个成绩,换行输出成绩中的最高分和最低分的差score = input('请输入成绩,成绩间用空格隔开:')
print(score)
score_list = [int(x) for x in score.split(' ') if x not in [' ', '']]
# 第一种: 使用max() min()获取最大最小
high = max(score_list)
low = min(score_list)
print("输入成绩中的最高分与最低分的分差为:", high - low)
# 第二种:先排序,在确定的位置找到最大和最小
score_list.sort()
print("输入成绩中的最高分与最低分的分差为:", score_list[-1] - score_list[0])
http://www.lryc.cn/news/118958.html

相关文章:

  • C++——命名空间、输入、输出
  • 解锁滴滴ES的性能潜力:JDK 17和ZGC的升级之路
  • Permutation and Primes 2023牛客暑期多校训练营8 J
  • centos如何配置IP地址?
  • git clone 报错Filename too long
  • 【雕爷学编程】Arduino动手做(184)---快餐盒盖,极低成本搭建机器人实验平台3
  • redis String类型命令
  • Blazor 简单组件(0):简单介绍
  • 在vue3+vite项目中使用jsx语法
  • HCIA 路由器工作原理 及其 静态路由配置
  • 【Git】—— git的配置
  • [git] git基础知识
  • 【从零学习python 】15.深入了解字符串及字符集编码
  • 【LeetCode】打家劫舍||
  • 【Nginx】Nginx的重定向——location
  • 每日一题——滑动窗口的最大值
  • 【使用go开发区块链】之获取链上数据(03)
  • js 动态设置transformOrigin
  • docker使用tab无法自动补全命令
  • 既然jmeter也能做接口自动化,为什么还需要pytest自己搭框架?
  • Objective-C获取变量类型的方法
  • 相机可见区域,使用鼠标拖拽模型
  • Vue 2 与 Vue 3 的全面比较
  • Unity学习笔记--如何优雅简便地利用对象池生成游戏对象(进阶版)LRU + 对象池
  • 【Spring专题】Bean的声明周期流程图
  • C++实现俄罗斯方块(源码+详解)
  • 01:STM32点灯大师和蜂鸣器
  • linux pwn 基础知识
  • Unity Poisson分布 【由ChatGPT生成】
  • permission denied while trying to connect to the Docker daemon socket 错误