这是我在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文档和信息?
答案 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()