计算没有len()的字符数并合并变量

时间:2019-04-10 13:48:25

标签: python

Q1

编写包含以下变量的代码,以便将变量“您做得很好,继续努力!”这句话分配给变量消息。请勿编辑分配给a,b,c或d的值。

第二季度

计算字符串str1中的字符数。不要使用len()。将数字保存在变量numbs中

我尝试了以下一些解决方案。我想知道是否有更快的解决方法?

Q1

a = "You are"
b = "doing a great "
c = "job"
d = "keep it up!"


seq1 = [a, b]
seq2 = " ".join(seq1+[c])
message = ",".join(seq2 + [d])

有没有更简单的方法来解决问题? 我希望我不会对Hol进行硬编码。

第二季度

str1 = "I like nonsense, it wakes up the brain cells. Fantasy is a necessary ingredient in living."

list1 = list(str1)
print(list1)
numbs = count(list1)

print(numbs)

我应该在代码中使用像这样的计数功能吗?我可以应用任何模块或功能吗?像循环功能还是计数器功能?

谢谢!

5 个答案:

答案 0 :(得分:2)

对于Q1,有各种 string格式样式。最新的(python 3.6)是

Run

对于长度,字符串在python中是可迭代的,因此

result = f'{a} {b}, {c} {d}'

或列表理解

length = 0
for character in string:
   length += 1

答案 1 :(得分:0)

length = sum(1 for char in string)

应该可以解决问题。它将在每次迭代中增加可逆变量,因此最终它将在您字符串的长度上。因为它从0开始,所以您需要在末尾添加1

答案 2 :(得分:0)

您可以在python中一起添加字符串,所以只需添加它们

a+' '+b+c+' '+d

我在其中添加了“”,因为变量中的字符串没有它们,但是如果有,您可以将其取出。 对于第二个问题,您可以使用循环对其进行计数

counter=0
for i in str1:
    counter+=1

答案 3 :(得分:0)

Q1:可以使用字符串格式功能。它使用占位符和变量。

'{0} {1} {2}, {3}'.format(a,b,c,d)

Q2:您可以迭代字符串的每个元素并增加一个计数器。这不是最好的方法,但是是其中一种。

a = 0
[a+=1 for _ in str1]

答案 4 :(得分:0)

第一季度

by = "You are"
az = "doing a great "
io = "job"
qy = "keep it up!"
message = by+" "+az+io+", "+qy
print(message)

第二季度

str1 = "I like nonsense, it wakes up the brain cells. Fantasy is a necessary ingredient in living."
numbs=0
for i in str1:
    numbs+=1
print(numbs)