NoKnow0722 发表于 2021-12-18 16:42:24

鱼油们来帮帮一道复习题

获得用户的输入当作对齐模式,用户输入:左、右、中,分别表示:左对齐、右对
齐和居中对齐,以 * 作为填充符号,30 字符宽度输出 PYTHON 字符串。请完善代码。
m = input("请输入对齐模式:")
s = "PYTHON"
if m =="右":
m = ">"
elif m =="中":
m = "^"
else:
m = "<"
print("{_____①_____}".format(_____②_____))

这个m在引号里没法直接使用啊,如果是{:*m6s}这样就会报错应该怎么做呢

傻眼貓咪 发表于 2021-12-18 18:07:47

NoKnow0722 发表于 2021-12-18 17:34
可能是题搞错了吧。。问了一圈都是分别输出的,本来我是想要最后空格那一行直接加入m变量一下实现三个功 ...

我明白了,你是想要这样:m = input("请输入对齐模式:")
s = "PYTHON"
if m == "右":
    m = ">"
elif m == "中":
    m = "^"
else:
    m = "<"

print("{0:{1}30}".format(s, m))

傻眼貓咪 发表于 2021-12-18 16:49:53

print("{:-10d}".format(12345)) # 向右对齐
print("{:d}".format(12345)) # 向左对齐
print("{:^10}".format(12345)) # 中对齐

NoKnow0722 发表于 2021-12-18 16:51:14

傻眼貓咪 发表于 2021-12-18 16:49


可是这个只给了一个空,应该是要求按照用户输入给变量m赋值用一条语句解决的输入问题吧,有什么办法实现吗,感谢

傻眼貓咪 发表于 2021-12-18 16:58:53

本帖最后由 傻眼貓咪 于 2021-12-18 17:00 编辑

m = input("请输入对齐模式:")
s = "PYTHON"
if m == "右":
    m = "{:>30}".format(s)
elif m == "中":
    m = "{:^30}".format(s)
else:
    m = "{:<30}".format(s)

print(m)

傻眼貓咪 发表于 2021-12-18 17:12:46

NoKnow0722 发表于 2021-12-18 16:51
可是这个只给了一个空,应该是要求按照用户输入给变量m赋值用一条语句解决的输入问题吧,有什么办法实现 ...

兄弟,不是你想要的结果吗?{:10_249:}

NoKnow0722 发表于 2021-12-18 17:34:21

傻眼貓咪 发表于 2021-12-18 17:12
兄弟,不是你想要的结果吗?

可能是题搞错了吧。。问了一圈都是分别输出的,本来我是想要最后空格那一行直接加入m变量一下实现三个功能的{:10_269:}

NoKnow0722 发表于 2021-12-18 18:49:39

傻眼貓咪 发表于 2021-12-18 18:07
我明白了,你是想要这样:

对对对!!!谢谢~~~
页: [1]
查看完整版本: 鱼油们来帮帮一道复习题