如何计算一行中的字符数,而不是来自文件?

时间:2017-10-09 23:54:25

标签: python-3.x

这是我在python中学习编程的第5天。现在我正在寻找解决方案来打印一条由用户文本输入的长行。对于简单的程序很容易。操纵python命令的三个小时给了我想要的东西。

print('Write any word:')
inputted_word = input()
print("-" * int(len(inputted_word)))
print("Your word has got: ",len(inputted_word), "characters.")

屏幕:

Write any word:
python
------
Your word has got:  6 characters.

是的,对我来说最好自己找一个解决方案,而不是从网上获取。 但是,我想制作一个表(在这种情况下是乘法表)。用户应输入乘法编号。好的,这已经完成了。

print('Write any number:')
d = input()
for i in range(1, int(d)+1):
    print(i, end=' ')
    for j in range(1,11):
       print(j, end=' ')
    print()

屏幕(不要担心相同的数字):

Write any number:
4
1 1 2 3 4 5 6 7 8 9 10 
2 1 2 3 4 5 6 7 8 9 10 
3 1 2 3 4 5 6 7 8 9 10 
4 1 2 3 4 5 6 7 8 9 10 

但是如何计算第1行中的字符数来实现确切的数字来创建一行?我认为我们需要从循环中走出去。那么,如何做到这一点?以及如何将垂直线划分为第一列?是否为初学者用户提供了一整天的解决方案,他们花了一整天时间从网上阅读python文档和信息?

1 个答案:

答案 0 :(得分:0)

让我们把事情分解成功能。我们希望程序的主要部分如下所示:

return customers.stream()
                .filter(c -> c.getItemCodes() != null && c.getItemCodes().contains("SPECIFIC_CODE"))
                .map(Customer::getCustomerId)
                .findFirst()
                .orElse(null); // default value in case no match is found

所以让我们编写我们的函数。第一个正是你写的:

word = get_word()  # e.g. "python"

print_table(len(word))  # makes table of 6 characters

对于第二个功能,我们可以按照您的方式进行:

def get_word():
    print('Write any word:')
    word = input()
    print("-" * int(len(word)))
    print("Your word has got: ", len(word), " characters.")

    return word

我亲自这样做的方式是使用一种称为“列表理解”的东西和def print_table(n): for i in range(1, n + 1): print(i, end=' ') print('|', end=' ') # vertical column for j in range(1, 11): print(j, end=' ') print() 函数来使每一行成为第一行:

str.join()