华为机试46-按字节截取字符串
题目描述
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
输入描述:
输入待截取的字符串及长度
输出描述:
截取后的字符串
示例1
输入
我ABC汉DEF
6
输出
我ABC
参考1:
while True: try: num,n = list(input().strip().split()) n = int(n) res = [] k = 0 for s in num: if s.isalpha(): #是否为字母 k += 1 if k <= n: res.append(s) else: break else: k += 2 if k <= n: res.append(s) else: break print(''.join(list(map(str,res)))) except: break
执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 16ms 占用内存: 3368KB
参考2:
while True: try: s,n=input().split() n=int(n) if s[n-1].isalpha(): #是否属于字母 print(s[:n]) else: print(s[:n-1]) except: break
执行结果: 答案正确:恭喜!您提交的程序通过了所有的测试用例 用例通过率: 100.00% 运行时间: 20ms 占用内存: 3432KB