python 象形文字

标签 python python-3.x

这是我的象形文字代码。 我希望它像 John = * * * * * 为什么输出中有“None”?

print("Pictograph")
def J(a):
    for i in range(1, a+1):
        print("*", end=" ")
def C(b):
    for j in range(1, b+1):
        print("*", end=" ")
def Z(c):
    for j in range(1, c+1):
        print("*", end=" ")
x = int(input("Enter John's Number: "))
y = int(input("Enter Chas's Number: "))
z = int(input("Enter Zed's Number: "))

print("John = ", J(x))
print("Chas = ", C(y))
print("Zed = ", Z(z))

这是输出

Pictograph
Enter John's Number: >? 5
Enter Chas's Number: >? 4
Enter Zed's Number: >? 3
* * * * * John =  None
* * * * Chas =  None
* * * Zed =  None

最佳答案

您正在定义一个不返回任何内容的函数。更改您的函数以返回值。另外,您是否知道可以使用 * 运算符重复字符串,例如 3 * 'a''aaa':

def J(a):
    return (a * '* ')[:-1]

s[:-1] 表示您正在获取字符串 s 中除最后一个元素之外的所有元素。

您还可以定义一个函数来打印您的模式,这样就可以避免代码重复。

def repeat_pattern(n):
    return (n * '* ')[:-1]

因此,您的代码将如下所示:

print("Pictograph")
x = int(input("Enter John's Number: "))
y = int(input("Enter Chas's Number: "))
z = int(input("Enter Zed's Number: "))
print("John =", repeat_pattern(x))
print("Chas =", repeat_pattern(y))
print("Zed =", repeat_pattern(z))

关于 python 象形文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55073769/

相关文章:

python - 未在子类中调用元类

python - Pandas :根据列的值对行进行排序

python - 汉诺塔非递归: Is my code correct?

python-3.x - DataFrame' 对象没有属性 'sort'

python - 加速 Python 中的数学计算

python - 检查一个整数是否可以分为主分区?

python - 在 Python 中删除字符串中间的连续字符

python - Scrapy ImagesPipeline 不下载图像

python - 如何在列表理解中增加变量

python - Django 从三个表中检索数据