def get():
list = []
x = 1
while x==1:
i = str(input())
list.append(i)
print("是否还要再输入?否请填0,是请填1")
x = int(input())
return list
def concatenate(*args):
return "",join(args)
m = concatenate(get())
print(m)
为什么这个一直报错呀?说没有Join函数,但是我真的不知道怎么改了,5555
def get():
list = []
x = 1
while x == 1:
i = str(input())
list.append(i)
print("是否还要再输入?否请填0,是请填1")
x = int(input())
return list
def concatenate(*args):
return "".join(args[0]) # 这里不是逗号,而是点号
# get函数返回的是一个列表。concatenate函数把get函数的返回值传入进去后,args的值为([....],)所以我改成了 args[0]
# 也可以改成 def concatenate(args): return return "".join(args)
m = concatenate(get())
print(m)
该回答引用chatgpt:
在 concatenate() 函数中,join() 方法前面应该是一个空字符串 "" 而不是逗号 ,,所以需要修改为 return "".join(args)。
在 get() 函数中,变量名不应该用 Python 中的保留字 list,所以可以修改为 lst 或其他名称。
在 concatenate() 函数调用中,需要给 get() 函数传入参数,否则程序将会在输入时等待无限期,因此可以修改为 m = concatenate(*get())。
修改后的代码如下:
def get():
lst = []
x = 1
while x==1:
i = str(input())
lst.append(i)
print("是否还要再输入?否请填0,是请填1")
x = int(input())
return lst
def concatenate(*args):
return "".join(args)
m = concatenate(*get())
print(m)
"",join(args)
改为
"".join(args)
你把点打成逗号了
join 是 python 中字符串自带的一个方法,返回一个字符串。使用语法为:
sep.join(可迭代对象) --》 str
# sep 分隔符 可以为空
将一个包含多个字符串的可迭代对象(字符串、元组、列表),转为用分隔符sep连接的字符串。
列表
列表必须为非嵌套列表,列表元素为字符串(str)类型
list1 = ["123", "456", "789"]
print(''.join(list1)) # '123456789'
print('-'.join(list1)) # '123-456-789'
元组
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
tuple1 = ('abc', 'dd', 'ff')
print(''.join(tuple1)) # 'abcddff'
print('*'.join(tuple1)) # 'abc*dd*ff'
字符串
str1 = "hello Hider"
print(''.join(str1))
print(':'.join(str1))
# 'h:e:l:l:o: :H:i:d:e:r'
字典
默认拼接 key 的列表,取 values 之后拼接值。
dict1 = {"a":1, "b":2, "c":3}
print(''.join(dict1)) # 'abc'
print('*'.join(dict1)) # 'a*b*c'
# 拼接的是key
# 值也必须是字符才可以拼接
dict1 = {"a":1, "b":2, "c":3}
print('*'.join(str(dict1.values())))
# 'd*i*c*t*_*v*a*l*u*e*s*(*[*1*,* *2*,* *3*]*)' 否则
代码如下:
# 定义一个空字符串
output_string = ""
# 循环读取任意数量的字符
while True:
# 读取输入的字符
char = input("请输入一个字符:")
# 如果字符为空,则结束循环
if char == "":
break
# 将读取的字符拼接到output_string中
output_string += char
# 输出拼接后的字符串
print("拼接后的字符串为:", output_string)
思路解析:
定义一个空字符串output_string。
使用while循环,循环读取任意数量的字符。每读取一个字符,就拼接到output_string字符串的末尾。
检测读取到的字符是否为空,如果为空,则退出循环。
输出拼接后的字符串。
这样就解决了在Python中输入任意数量的字符,并将它们拼接成一个字符串的问题。