1、编程试题:
编写一个程序,重复长度较小的字符串,直到长度等于较长字符串的长度。假设两个输入字符串的长度不相等。
定义函数repeat_till_equal_length()的函数,有两个参数string1和string2。
在函数内,重复较短的字符串,直到它等于较长的字符串的长度。
示例输入
python
pythontip
示例输出
pythonpyt
解释:
较长字符串pythontip的长度为9,较短字符串的长度为6。短字符串重复,直到其长度等于9。
2、代码实现:
可编辑代码如下:
#!/usr/bin/python3.9# -*- coding: utf-8 -*-## Copyright (C) 2024 , Inc. All Rights Reserved## @Time : 2024/2/10 9:22# @Author : fangel# @FileName : 105.重复较短的字符串.py# @Software : PyCharmdef repeat_till_equal_length(string1, string2): #步骤1:先确定最长的字符串和最短的字符串 if len(string1) < len(string2): shortStr = string1 longStr = string2 else: shortStr = string2 longStr = string1 #步骤2:确定两者之间的差值 lenDiff = len(longStr) - len(shortStr) #步骤3:确定两者之间的差值和最短字符串的关系,一个是倍数关系,一个是模关系 i = int(lenDiff / len(shortStr)) j = lenDiff % len(shortStr) #步骤4:重复长度较小的字符串,直到长度等于较长字符串的长度 strNew = shortStr + shortStr * i + shortStr[0:j] return strNew# 输入两个字符串string1 = input()string2 = input()# 调用函数print(repeat_till_equal_length(string1, string2))
3、代码分析:
本例首先要确定最长和最短的字符串,可以通过长度来判断,然后计算差值,再确定两者之间的差值和最短字符串的关系,一个是倍数关系,一个是模关系最后重复 长度较小的字符串即可。
4、运行结果:
输入:
school
scholar
输出:
schools