我正在尝试单独打印每个元素,这很好,但也可以根据位置重复每个元素,例如。 “abcd”= A-Bb-Ccc-Dddd等
所以我的问题是让print语句根据它们在字符串中的位置打印x次。我尝试了使用len和range的几个组合,但我经常遇到错误,因为我使用字符串而不是整数。
我应该在这里使用len和range吗?如果你们没有发布完成的代码,我更愿意,基本上如何解决这个特定问题(如果可能的话),所以我仍然可以自己搞清楚。
user_string = input()
def accum(s):
for letter in s:
pos = s[0]
print(letter.title())
pos = s[0 + 1]
accum(user_string)
答案 0 :(得分:1)
您可以枚举iterables(列表,字符串,范围,dictkeys,...) - 它提供索引和值:
(0, 'a')
(1, 'b')
(2, 'c')
(3, 'd')
(4, 'e')
(5, 'f')
输出:
print("Bla","blubb", sep=" --->", end=" Kawumm\n")
您可以使用它多次打印。 print命令有两个可选参数:
Bla --->blubb Kawumm
输出:
end=""
指定输出之间和输出结尾处打印的内容 - 您可以指定user_string = input()
def accum(s):
t = [] # list to store stuff into
for count, letter in enumerate(s):
total = letter.upper() + letter * (count) # 1st as Upper, rest as is
t.append(total) # add to list
print(*t, sep="-") # the * "unpacks" the list into its parts
accum(user_string)
- 这样您就可以继续在同一行上打印。
Doku:
编辑:
print( [1,2,3,4,5], sep=" +++ ") # its just 1 value to print, no sep needed
print(*[1,2,3,4,5], sep=" +++ ") # 5 values to print, sep needed
启封:
[1, 2, 3, 4, 5]
1 +++ 2 +++ 3 +++ 4 +++ 5
输出:
materialize.js (0.100.2)
答案 1 :(得分:0)
你可以尝试让一个计数器在循环遍历字符串时增加1。然后,在您当前拥有的循环内,使用另一个for循环来循环计数器的大小。如果您希望打印出首字母大写的第一个字母,那么您需要将其与破折号一起考虑。