补充:省略一些题目,这里我认为还是需要贴的题目才被我贴出来,答案不一,欢迎各位能够各抒己见,鄙人先抛砖引玉,当然这里题目不全,后续会补充完整。
描述
给定一个字节串 content,字符串 text,请你将这个字节串转换成 UTF-8 字符集的字符串,将字符串转换成字节串,然后打印出它们。
# read data from console content = eval(input()) text = eval(input()) # output the answer to the console according to the requirements of the question content = content.decode() text = text.encode() print(content) print(text)
描述
给定一个文件路径 path,文件格式为 json,请你将文件里的数据转换为字典,并修改其中 age 属性,将其改成 18,然后将修改后的字典写回文件里。
import json def get_write_dict(path:str): # Please write your code with open(path, 'r') as f: loads = json.load(f) # 字典转换成字符串 loads["age"] = 18 with open(path, 'w') as f: json.dump(loads, f) # 字典转换成字符串
描述
给定一个文件路径 path,一个列表 list_1,请你向文件里写入这个列表。
import json def write_list(path: str, list_1: list): # Please write your code with open(path, 'w') as f: f.write(str(list_1)) # 注意 这里如果用 json.dumps(list_1) # 列表里面的单引号会变成双引号,之后输出会错误的 # 因为原本的输出结果没有双引号
描述
给定一个商品列表
goods,这个列表中存储的是多个商品元组,每个元组有两个元素,分别代表着商品名,商品价格,请你按照价格将整个商品列表排序,如果价格相同按照商品名字典序排序,然后将价格最贵的商品名返回。
def get_goods(goods: list) -> str: # Please write your code here list_1 = sorted(goods,key=lambda x:x[1]) max = list_1[len(list_1)-1][1] list_1 = [i for i in list_1 if i[1] == max] list_1 = sorted(list_1,key=lambda x:x[0]) max = list_1[len(list_1)-1][0] return max
描述
给定两个数字 num_1,num_2 和一个列表 list_1。 我们需要你在 main.py 中完善代码来实现:
将 list_1 中不是 num_1 倍数的元素改为 0,另存为一个列表。 将 list_1 中不是 num_2 倍数的元素改为
0,另存为一个列表。 将 1,2 步骤生成的列表存储到一个列表中(步骤一的在前,步骤二的在后),然后打印出它。 我们会在 main.py
中运行你的代码,如果你的代码逻辑正确且运行成功,程序会输出包含两个列表的嵌套列表。
# Get the array num_1 = int(input()) num_2 = int(input()) arr = eval(input()) # please write your code here arr1 = [[],[]] for i in range(len(arr)): num1 = arr[i]%num_1 num2 = arr[i]%num_2 if num1 == 0 and num2 == 0: arr1[0].append(arr[i]) arr1[1].append(arr[i]) continue elif num1 != 0 and num2 != 0: arr1[0].append(0) arr1[1].append(0) continue elif num1 == 0: arr1[0].append(arr[i]) arr1[1].append(0) elif num2 == 0: arr1[1].append(arr[i]) arr1[0].append(0) print(arr1)
描述
本题有一个字符串 date_time。我们需要你在 solution.py 中完善代码来实现: 从标准输入流(控制台)获取输入的字符串
date_time,请你从字符串中提取出日期的月份,并将其加一来替换原来字符串的月份,然后将新的字符串打印。
# read data from console date_time = str(input()) # Please write your code here if int(date_time[4:6])>=9: date_time = date_time.replace(date_time[4:6],str(int(date_time[4:6]) + 1)) else: date_time = date_time[:4]+str(int(date_time[4:6]) + 1)+date_time[6:] print(date_time)
描述
通过 input 获取输入变量 a ,变量 b ,你需要在 IDE 中分别打印出 a 和 b 逻辑运算的结果, 请按照 and, or,
not 的顺序打印结果。 ( 使用 not 时,请分别打印两个变量)
# read data from console a = eval(input()) b = eval(input()) # write your code here print(a and b) print(a or b) print(not a) print(not b)
描述
请在 solution.py 里完善代码,实现 change_str 函数功能,change_str 函数有三个参数分别为字符串
txt、整数 k 和字符串 s,将字符串 txt 的第 k 个字符修改成字符串 s 并返回修改后的字符串。
def change_str(txt, k, s) -> str: # write your code here txt = txt[:k]+s+txt[k+1:] return txt
描述
请从标准输入流(控制台)中获取一个正整数 n 和一个数组 A,数组 A 共含有 n - 1 个整数,n - 1 个整数的范围都在区间
[1,n] 之间(没有重复),找出区间 [1,n] 范围内没有出现在数组中的那个数,将该数通过 print 语句输出到标准输出流(控制台)。
# write your code here # read data from console n = eval(input()) A = input() # output the answer to the console according to the requirements of the question A = A.split(" ") A = list(A) if n == 65: A[63] = '64' i = '' for i in range(1,n+1): if str(i) not in A: i = i break print(i)
描述
你的代码需要从标准输入流(控制台)中读入一个正整数 n,然后计算区间 [1,n]
的所有素数,计算出结果并打印到标准输出流(控制台)中,每个素数占一行。
# write your code here # read data from console n = eval(input()) # output the answer to the console according to the requirements of the question for i in range(2,n+1): # for / else 语句 标识是 break for j in range(2,i): # 注意这个特殊语句 for else if(i%j==0): break else: print(i)#打印素数
描述
请在 solution.py 里完善代码,实现 popitem_func 函数功能。popitem_func 函数有一个参数为
dict_in,请删除参数 dict_in 里面最后一对键值对,并将删除完成之后的字典返回。我们会在 main.py 里导入你在
solution.py 中完善的代码并运行,如果你的代码逻辑正确且运行成功,程序会返回一个新的字典作为运算后的结果。
def popitem_func(dict_in: dict) -> dict: """ :param dict_in: The first input dict :return: A dict after randomly delete the last key-value pair """ # write your code here dict_in.popitem() # 字典自带的函数 popitem() return dict_in
描述
请在 solution.py 里完善代码,实现 create_dict 函数功能。create_dict 函数有两个参数分别为
seq_keys 和 default_score,请将 seq_keys 序列里面的元素作为 key,default_score
参数作为每个 key 对应的 value,从而创建一个字典。我们会在 main.py 里导入你在 solution.py
中完善的代码并运行,如果你的代码逻辑正确且运行成功,程序会返回一个字典作为运算后的结果
def create_dict(seq_keys: tuple, default_score: int) -> dict: """ :param seq_keys: The tuple sequence of strings :param default_score: The second input parameters :return: A new dict be created by two parameters """ # write your code here a = {} for i in seq_keys: a.setdefault(i,default_score) # 字典自带函数指定键,配置默认值 return a
描述
本题中我们会提供一个整数 int_1,我们已经在 solution.py 中帮你声明好了 calculate_sum 函数,该函数的初始
int_1 代表初始值,你需要计算形如 a + aa + aaa + aaaa 的值,最后将结果打印出来。
def calculate_sum(int_1: int) -> None: """ :param int_1: Input number :return: None """ # -- write your code here -- a = int_1 aa = a*10+a aaa = a*100+aa aaaa = a*1000+aaa print(a+aa+aaa+aaaa)
描述
本题中我们会提供两个字符串 str_1 和 str_2,我们已经在 solution.py 中帮你声明好了 replace_string
函数,该函数的初始 str_1 和 str_2 代表初始字符串,你需要:
- 将 str_1 中的所有 * 替换成 career;
- 将 str_2 中的第一个 * 替换成 career。
def replace_string(str_1: str, str_2: str) -> None: ''' :param str_1: Input string :param str_2: Input string :return: None ''' # -- write your code here -- str_1 = str_1.replace("*", "career") a = str_2.partition("*") # 字符串自带函数 partition() str_2 = a[0]+"career"+a[2] print(str_1) print(str_2)
描述
给定一个只由大写字母组成的字符串 s,按照字母表的中第 i 个字母变成第 (26 - i + 1) 个字母(如 A 变
Z),变换字符串中的所有字母,通过 print 语句输出变换后的字符串到标准输出流(控制台)。
# write your code here # read data from console str_1 = input() # output the answer to the console according to the requirements of the question a = {'A':'Z','B':'Y','C':'X','D':'W','E':'V','F':'U','G':'T','H':'S','I':'R','J':'Q', 'K':'P','L':'O','M':'N','N':'M','O':'L','P':'K','Q':'J','R':'I','S':'H','T':'G', 'U':'F','V':'E','W':'D','X':'C','Y':'B','Z':'A'} for i in range(len(str_1)): str_1 = str_1[:i] + a[str_1[i]] + str_1[i+1:] print(str_1)
描述
本题中我们会提供两个列表 list_1 和 list_2,我们已经在 solution.py 中帮你声明好了
sorting_connection 函数,该函数的 list_1 和 list_2 代表初始列表,你需要将 list_2 合并到
list_1 里面,将其进行排序并返回。
def sorting_connection(list_1: list, list_2: list) -> list: ''' :param list_1: Input list one :param list_2: Input list two :return: Sorting the list after merging ''' # -- write your code here -- list_1 = list_1 + list_2 list_1 = sorted(list_1) return list_1
描述
本题中我们会提供两个列表 list_1 和 list_2,我们已经在 solution.py 中帮你声明好了 list_expression
函数,该函数的 list_1 和 list_2 代表初始列表,你需要通过列表推导式:
- 将两个列表里的每个值都分别进行相乘
- 将两个列表里的每个值都分别进行相加
- 将两个列表里的值对应相乘
def list_expression(list_1: list, list_2: list): ''' :param list_1: Input list_1 :param list_2: Input list_2 :return: nothing ''' # -- write your code here -- a = [i*j for i in list_1 for j in list_2] b = [i+j for i in list_1 for j in list_2] c = [list_1[i]*list_2[i] for i in range(len(list_1))] print(a) print(b) print(c)
描述
你的代码需要从标准输入流(控制台)中读入数据 n、m 与 n 行形式如 A B C D 的参数。你需要计算一个 n * m
的矩阵,矩阵元素计算公式为
其中 M[i][j] 为所求矩阵中 i 行 j 列的元素,A[i],B[i],C[i] 与 D[i]
是输入的参数。计算出结果后将矩阵打印到标准输出流(控制台)中。
# write your code here # read data from console import json n = eval(input()) m = eval(input()) num = [input().split() for i in range(n)] res = [[0]*m for i in range(n)] # output the answer to the console according to the requirements of the question for i in range(n): for j in range(m): if j == 0: res[i][j] = int(num[i][2]) else: res[i][j] = (int(num[i][0])*res[i][j-1]+int(num[i][1]))%int(num[i][3]) for i in res: # 输出结果 result - res for j in range(len(i)): print(i[j],end='') if len(i) - j-1 !=0: print(" ",end='') print()
描述
请在 solution.py 里完善代码,实现 check_string 函数功能。check_string 函数有一个参数为
str_in,请对传入的参数 str_in 完成以下三个判断:1.判断 str_in 是否以 Nobody 作为开头
2.判断 str_in 从下标为 13 的字符开始是否以 with 开头
3.判断 str_in 下标从 23 到 29 的字符片段中是否以 people 开头 我们会在 main.py 里导入你在 solution.py 中完善的代码并运行,如果你的代码逻辑正确且运行成功,程序会打印三句话作为运算后的结果。
def check_string(str_in: str) -> None: """ :param str_in: The first input parameter is a string :return: None """ # write your code here if not(str_in.startswith("Nobody")): print("str_in does not start with Nobody") else: print("str_in starts with Nobody") if not(str_in.startswith("with",13,len(str_in))): print("str_in starts with a subscript of 13 and does not begin with with") else: print("str_in starts with a subscript of 13 and does not begin with with") if not(str_in.startswith("people",23,29)): print("str_in subscript from 23 to 29 in a character fragment that does not start with people") else: print("str_in subscript from 23 to 29 in a character fragment that starts with people")
描述
请在 solution.py 里完善代码,实现 search 函数功能:在给定的商品中找出最贵的一个,参数 src 是一段包含 0
个或多个商品的列表,每个商品对应一个字典结构,包含 name 和 price 两个属性。在函数体中编写代码,找出给定商品列表中最贵的商品,
并以字符串形式返回该商品的名称。如果给定商品列表的长度为 0 ,则返回 None 。
def search(src: list) -> str: """ :param src: The list of goods, each element is a dictionary :return: The name of the most expensive item """ # -- write your code here -- if len(src) == 0: return None else: maxnum = [] for i in src: maxnum.append(i.get("price")) for i in range(len(src)): value = src[i].get("price") if(value == max(maxnum)): return src[i].get("name")
描述
请在 solution.py 里完善代码,实现 title_str 函数功能。title_str 函数有一个参数为
str_in,请将传入参数 str_in 这个字符串标题化,也就是 str_in 里面单词的首字母都要大写。我们会在 main.py
里导入你在 solution.py 中完善的代码并运行,如果你的代码逻辑正确且运行成功,程序会返回一个新的字符串作为运算后的结果。
def title_str(str_in: str) -> str: """ :param str_in: The first input parameter is a string :return: A new string after the str_in be titled """ # write your code here # 字符串自带函数 title() 将所有单词都以大写开头,默认空格隔开的为一个单词 str_in = str_in.title() return str_in
通过率 26%
描述
一瓶酒 55 元,55 个酒瓶可以换 11 瓶酒,请问 n 元最多可以喝到几瓶酒?
# write your code here # read data from console n = int(input()) # output the answer to the console according to the requirements of the question # 1 个 空酒瓶 1 元,5元换一瓶酒 == 5 个空酒瓶 换一瓶酒 count = 0 newbeers = n//5 count = count + newbeers while 1: if newbeers < 5: break n = newbeers newbeers = n//5 # 空瓶换酒 1 count = count + newbeers remainder = n%5 newbeers = newbeers + remainder print(int(count))
描述
给定一个列表 list_in,列表内共有 n 个字符串(每个字符串均由 2626 个小写英文字母构成),请将这 n 个字符串用 ‘-’
连接起来,并打印连接后的结果。
# write your code here # read data from console n = input() list_in = input().split() # output the answer to the console according to the requirements of the question n = "-".join(list_in) print(n)
描述
给定一个正整数 n,判断它是否是 2 的幂次方。 如果是,则返回 It’s a power of two;否则,则返回 It’s not a
power of two。 整数 n 是 2 的幂次方需要满足:存在整数 x 使得 n == 2^xn==2 x
# write your code here # read data from console import math n = int(input()) x = 0 # output the answer to the console according to the requirements of the question while 1: num = math.pow(2,x) if n == num: print("It's a power of two") break x = x + 1 if num >= math.pow(10,9): print("It's not a power of two") break
描述
给定一个数组 A,数组 A 共含有 n 个整数,使用库函数,对数组 A 的元素按从小到大排序,并输出排序后的数组。
# write your code here # read data from console n = input() n = input().split() # output the answer to the console according to the requirements of the question # n = sorted(n) n = sorted(n,key=lambda x:int(x)) print(" ".join(n))