鱼C论坛

 找回密码
 立即注册
查看: 2148|回复: 15

[已解决]Python:每日一题 273

[复制链接]
发表于 2019-11-13 21:09:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 zltzlt 于 2019-11-14 18:05 编辑

今天的题目:


给出三个参数 string,length,fill_char,将字符串 “右对齐”。其中 string 是原字符串,length 是填充后字符串的长度,fill_char 是填充的字符(默认为 ' ')。具体实现效果看示例。

示例 1:

输入:string = "123",length = 5
输出:"  123"
解释:填充字符将会填充到字符串的左端,直到新字符串长度为 length(5)。
示例 2:

输入:string = "454545454545",length = 15,fill_char = '0'
输出:"000454545454545"
示例 3:

输入:string = "11",length = 2
输出:"11"


欢迎大家一起答题!
最佳答案
2019-11-13 22:56:53
赶上一次前排,不知理解得对不对
1. 用 Python 自带的
def f273_1(string, length, fill_char=' '):
    return f"{string:{fill_char}>{length}}"

2. 不用 format
def f273_2(string, length, fill_char=' '):
    n = len(string)
    return string if length < n else fill_char * (length - n) + string

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-13 21:20:42 | 显示全部楼层
def abc(string,length,fill_char=' '):
    return fill_char*(length-len(string))+string

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-13 22:12:38 | 显示全部楼层
你这题都没写清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-13 22:23:20 | 显示全部楼层
string='12'
length=1
fill_char='*'
#------------------------------------
#笨办法
def f0(string,length,fill_char=' '):
        n=length-len(string)
        if n>0:
                s=fill_char*n+string
        else:
                s=string
        print(s)
f0(string,length)
f0(string,length,fill_char)
#%
n=12
a='{:*>12}'.format(string)
b=f'{length-len(string)}'
print(a)

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-13 22:56:53 | 显示全部楼层    本楼为最佳答案   
赶上一次前排,不知理解得对不对
1. 用 Python 自带的
def f273_1(string, length, fill_char=' '):
    return f"{string:{fill_char}>{length}}"

2. 不用 format
def f273_2(string, length, fill_char=' '):
    n = len(string)
    return string if length < n else fill_char * (length - n) + string

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-14 03:09:29 | 显示全部楼层
本帖最后由 XiaoPaiShen 于 2019-11-14 03:11 编辑

示例 3:

输入:string = "11",length = 2
输出:"12"

不知如何能输出‘12’

如果 length < len(string)
该如何截取字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 09:12:16 | 显示全部楼层
def fun273(string,length,fill_char=' '):
    return fill_char*(length-len(string)) + string
题目有两点不太清楚:
第一,没说length小于字符串长度时怎么处理,所以我默认不会出现这种情况了
第二,示例3结果12不知道什么鬼,写错了吧?

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 10:43:43 | 显示全部楼层

def abc(string,length,fill_char=' '):
     return  '{0:{1}>{2}}'.format(string,fill_char,length)

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 12:56:03 | 显示全部楼层
def solve(string,length,fill_char=' '):
    return (length - len(string))*fill_char + string

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 13:50:31 | 显示全部楼层
示例3 出毛病啦!!!!
原字符串内容都改啦!!
这回的示例有 BUG   !!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-14 13:58:55 | 显示全部楼层
来来来,大战几百回!
def solve(string:str,length:int,fill_char:'char'=' ')->str:
    if len(string) < length:
        return (length-len(string))*fill_char + string
    else:
        return string
if __name__ == '__main__':
    print('示例1 "  123" 输出:',solve('123',5))
    print('示例2 "000454545454545" 输出:',solve('454545454545',15,'0'))
    print('示例3 有毛病,不给输出!')

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
zltzlt + 1 + 1 + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-14 18:04:53 | 显示全部楼层
XiaoPaiShen 发表于 2019-11-14 03:09
示例 3:

输入:string = "11",length = 2

抱歉,手误打错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-16 17:59:00 | 显示全部楼层
def fun273(string,length,fill_char):
    print(f'{string:{fill_char}>{length}}')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-16 19:11:24 From FishC Mobile | 显示全部楼层
阴阳神万物主 发表于 2019-11-14 13:58
来来来,大战几百回!

第九行代码我笑了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-4 13:06:03 | 显示全部楼层
s = input('输入字符串:')
length = int(input('请输入填充后字符串长度:'))
fill_char = input('请输入填充的字符:')
s1 = s.rjust(length,fill_char)
print(s1)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-4 13:14:20 | 显示全部楼层
s = input('输入字符串:')
length = int(input('请输入填充后字符串长度:'))
fill_char = input('请输入填充的字符:')
fill_str = ''
k = length - len(s)
while k:
    fill_str = fill_str + fill_char
    k -= 1
result = fill_str + s
print(result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 08:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表