测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A58991. 密码问题: 根据密码本和电子钥匙,破解笔记本电脑的密码。 密码本是一个非降的整数序列,电子钥匙是一个整数,得到密码的方法是在密码本中找到最接近电子钥匙的整数(如果多个符合条件,输出最小的一个)。 例如: 密码本为下面的列表 a=[1,22,43,45,45,55,60,70,89] 电子钥匙为整数44 满足条件的整数为43和45,最终的密码为43 补全下面的代码: a=[1,22,…

编程题

题目描述

密码问题:  

根据密码本和电子钥匙,破解笔记本电脑的密码。  

密码本是一个非降的整数序列,电子钥匙是一个整数,得到密码的方法是在密码本中找到最接近电子钥匙的整数(如果多个符合条件,输出最小的一个)。  

例如:  密码本为下面的列表 

a=[1,22,43,45,45,55,60,70,89]  

电子钥匙为整数44  

满足条件的整数为43和45,最终的密码为43 

补全下面的代码:  

a=[1,22,43,45,45,55,60,70,89] #密码本
 k=int(input())   #k为电子钥匙
 l=0
 r=8
 while l+1!=r:
     mid=int (   ①  )
     if a[mid]<k:
            ②    
     else:
         r=mid
     if a[r]==k:
           ③      
 if k-a[l] <=     ④   :
      print(a[l])
 else:
     print(⑤)