1、猜数字游戏
题目描述:
电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小,当用户正好猜中电脑会提示,“恭喜你猜到了这个数是…”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。
(尝试使用try catch异常处理结构对输入情况进行处理)
获取随机数采用random模块
import random
a = random.randint(0,100)
print(“请输入一个0到100之间的整数.”)
b = True
times = 0
while b:
times =times+ 1
try:
c = int(input(“第”+str(times)+“次猜,请输入一个整数:”))
if c > a :
print(“数值偏大了呢”)
elif c < a :
print(“数值偏小了呢”)
else:
print(“恭喜你猜到了这个数值是”,a)
b = False
except ValueError :
print(“输入无效,请重新输入:”)
练习题:
1、列表操作练习
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
请写程序完成下列操作:
在列表的末尾增加元素15
在列表的中间位置插入元素20
将列表[2, 5, 6]合并到lst中
移除列表中索引为3的元素
翻转列表里的所有元素
对列表里的元素进行排序,从小到大一次,从大到小一次
2、修改列表
问题描述:
lst = [1, [4, 6], True]
请将列表里所有数字修改成原来的两倍
3、leetcode 852题 山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组
数组的长度大于等于3
存在iii,iii >0 且i<len(k)−1i<\operatorname{len}(k)-1i<len(k)−1, 使得k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]\mathrm{k}[0]<\mathrm{k}[1]<\ldots<\mathrm{k}[\mathrm{i}-1]<\mathrm{k}[\mathrm{j}]>\mathrm{k}[\mathrm{i}+1] \ldots>\mathrm{k}[\operatorname{len}(\mathrm{k})-1]k[0]<k[1]<…<k[i−1]<k[j]>k[i+1]…>k[len(k)−1]
这个iii就是顶峰索引。
现在,给定一个山脉数组,求顶峰索引。
示例:
输入:[1, 3, 4, 5, 3]
输出:True
输入:[1, 2, 4, 6, 4, 5]
输出:False