给定一个整数列表
nums
和一个目标值target
,请你在该数组中找出和为目标值的那两个整数,并返回他们的列表索引。
每种输入只需要对应一个答案。但是,你不能重复使用这个数组中同样位置的元素。
如果没找到解,输出“Fail”
输入格式:
两行,第一行输入一组整数,以空格间隔,数据全部为int型。第二行输入一个整数
输出格式:
如果有解,输出第一组数据(第一个元素索引最小)的那组解。如果无解,输出“Fail”
答案
nums = input().split()
nums = [int(nums[i]) for i in range(len(nums))]
target = eval(input())
lens = len(nums)
x = -1
for i in range(lens):
if (target - nums[i]) in nums:
if (nums.count(target - nums[i]) == 1) and (target - nums[i] == nums[i]):
continue
else:
x = nums.index(target - nums[i], i + 1)
break
if x > 0:
print('{} {}'.format(i, x))
else:
print('Fail')
九宫格输入是一款手机平台的必备利器。假设有九宫格输入法键盘布局如下:
[ 1,.?! ] [ 2ABC ] [ 3DEF ]
[ 4GHI ] [ 5JKL ] [ 6MNO ]
[ 7PQRS ] [ 8TUV ] [ 9WXYZ]
[ 0空 ]
注意:中括号[ ]仅为了表示键盘的分隔,不是输入字符。每个中括号中,位于首位的数字字符即是键盘的按键,按一下即可输入该数字字符。多次按同一个键,则输入的字符依次循环轮流,例如按两次3,则输入D;按5次7,则输入S;按6次2,则输入A。按键0的输入组合是0和空格字符,即按两次0输入空格。
你需要对于给定的按键组合,给出该组合对应的文本。
提示:keyboard=[[‘0’,’ ‘],[‘1’, ‘,’,’.’,’?’,’!’],[‘2’,‘A’,‘B’,‘C’ ], [‘3’,‘D’,‘E’,‘F’],[‘4’,‘G’,‘H’,‘I’] ,[‘5’,‘J’,‘K’,‘L’], [‘6’,‘M’,‘N’,‘O’],[‘7’,‘P’,‘Q’,‘R’,‘S’ ],[‘8’,‘T’,‘U’,‘V’],[‘9’,‘W’,‘X’,‘Y’,‘Z’]]
输入格式:
输入在一行中给出数个字符的按键组合(例如 999 表示按3次9),每个字符的按键组合之间用空格间隔,最后一个输入法组合之后以换行结束。输入数据至少包括一个字符的按键组合,且输入总长度不超过500个字符。
输出格式:
在一行中输出该按键组合对应的文本。
方法
keyboard=[['0',' '],['1', ',','.','?','!'],['2','A','B','C' ], ['3','D','E','F'],['4','G','H','I'] ,['5','J','K','L'], ['6','M','N','O'],['7','P','Q','R','S' ],['8','T','U','V'],['9','W','X','Y','Z']]
nums = input().split()
result1 = []
for i in nums:
x = len(i) - 1
result1.append(keyboard[int(i[0])][x])
result2 = ''.join(result1)
print(result2)
有字典 dict1 =
{‘赵广辉’:‘13299887777’,‘特朗普’:‘814666888’,‘普京’:‘522888666’,‘吴京’:‘13999887777’},编程实现查找功能,用户输入姓名,如在字典中存在,输出“姓名:电话”,如不存在,则输出“数据不存在”。
输入格式: 一个姓名
输出格式: 姓名:电话
答案
dict1 = {'赵广辉':'13299887777','特朗普':'814666888','普京':'522888666','吴京':'13999887777'}
a = input()
if dict1.get(a,88) == 88:
print('数据不存在')
else:
b = dict1.get(a)
print('{}:{}'.format(a,b))
输入一个字符串 s 和一个非负整数 i, 列表 ls = [‘2’, ‘3’, ‘0’, ‘1’, ‘5’],在指定的位置 i 和列表末尾分别插入用户输入的字符串 s。当 i >=5 时,相当于在列表末尾插入两次字符串 s。
输入格式: 第一行输入一个字符串;第二行输入一个非负整数
输出格式: 插入新数据后的列表
答案
s = input()
i = int(input())
ls = ['2', '3', '0', '1', '5']
if i < 5:
ls.append(s)
ls.insert(i,s)
else:
ls.append(s)
ls.append(s)
print(ls)
请将字符串“我有一所房子面朝大海春暖花开”转成一个列表,用户输入两个整数m,n(n>m),删除列表中这两个数之间的元素,输出新的列表。
输入格式: 在同一行内输入用逗号分隔的两个非负整数 m,n
输出格式: 删除指定元素后的新列表
答案
x = '我有一所房子面朝大海春暖花开'
x = list(x)
a, b = map(int,input().split(','))
del x[int(a):int(b)]
print(x)
设计一个用二分法计算一个大于或等于 1 的实数 n
的平方根的函数sqrt_binary(n),计算精度控制在计算结果的平方与输入的误差不大于1e-6。
注:初始区间取[0,n]
输入格式: 输入一个实数 n(大于或等于1)
输出格式: 第一行输出用自己设计的函数计算得到的平方根
第二行输出用math库开平方函数计算得到的平方根
答案
import math
def sqrt(num):
low, high= 0,num
while True:
x = (high + low)/2
if abs(x**2 - num)<=1e-6:
return x
elif x**2 - num<0:
low = x
else:
high = x
num = float(input())
if num >=0:
print(sqrt(num))
print(math.sqrt(num))
else:
print('请输入一个非负数!')
写一个函数isPrime(n)用于判断一个数字n是不是素数,用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔。
输入格式: 输入一个正整数
输出格式: 不大于该数的所有素数,各数后面用一个空格分隔
答案
import math
def isPrime(n):
if n > 1:
if n == 2:
return True
if n % 2 == 0:
return False
for current in range(3, int(math.sqrt(n) + 1), 2):
if n % current == 0:
return False
return True
else:
return False
x = int(input())
for n in range(1,x+1):
if isPrime(n) == True:
print(n,end=' ')