题目描述:
电脑产生一个零到100之间的随机数字,然后让用户来猜,如果用户猜的数字比这个数字大,提示太大,否则提示太小,当用户正好猜中电脑会提示,“恭喜你猜到了这个数是…”。在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。
(尝试使用try catch异常处理结构对输入情况进行处理)
获取随机数采用random模块。
import random
secret = random.randint(1, 100)
count = 0
while True:
temp = input("随机数是?")
count = count + 1
print (count)
try:
i = int(temp)
except Exception as err:
print("输入无效")
guess = int(temp)
if guess > secret:
print("太大")
else:
if guess == secret:
print("恭喜你猜到了这个数")
break
else:
print("太小")
列表lst 内容如下
lst = [2, 5, 6, 7, 8, 9, 2, 9, 9]
请写程序完成下列操作:
在列表的末尾增加元素15
在列表的中间位置插入元素20
将列表[2, 5, 6]合并到lst中
移除列表中索引为3的元素
翻转列表里的所有元素
对列表里的元素进行排序,从小到大一次,从大到小一次
lst=[2, 5, 6, 7, 8, 9, 2, 9, 9]
lst.append(15) #在列表的末尾增加元素15
lst.insert(round(len(lst)/2),20) #在列表的中间位置插入元素20
lst1 = [2, 5, 6]
lst += lst1 #将列表[2, 5, 6]合并到lst中
lst.pop(3) #移除列表中索引为3的元素
lst.reverse() #翻转列表里的所有元素
lst.sort() #从小到大排序
lst.sort(reverse=True) #从大到小排序
问题描述:
lst = [1, [4, 6], True]
请将列表里所有数字修改成原来的两倍
lst[0] =lst[0] *2
lst[1][0] = lst[1][0]*2
lst[1][1] = lst[1][1]*2
lst[2] = lst[2] * 2
山脉数组的峰顶索引
如果一个数组k符合下面两个属性,则称之为山脉数组
数组的长度大于等于3
存在 i i i, i i i >0 且 i < len ( k ) − 1 i<\operatorname{len}(k)-1 i<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]
这个 i i i就是顶峰索引。
现在,给定一个山脉数组,求顶峰索引。
class Solution:
def peakIndexInMountainArray(self, A) -> int:
for i in range(1,len(A)-1):
if A[i-1]>A[i]<A[i+1]:
return False
break
else:
continue
return True
test = [1, 2, 4, 6, 4, 5]
s = Solution()
print(s.peakIndexInMountainArray(test))