如何用 input()一次性输入多行字符串?
如何用 input()一次性输入多行字符串?本帖最后由 hrp 于 2021-3-9 10:03 编辑
print('空行回车结束:')
string = ''
for s in iter(input, ''):
string += (s+'\n')
print(string) string为一个字符串
string = ''
a = input()
while a:
string +=a
a = input()
if a:
string +='\n'
print(string)
每一行都是一个字符串(string1,string2,string3..)
a = []
string=1
while string:
string = input()
if string:
a.append(string)
for item in range(len(a)):
exec(f'string{item} = {a}')
print(eval(f'string{item}')) hrp 发表于 2021-3-9 08:07
第一个应该是 input吧? 本帖最后由 hrp 于 2021-3-9 10:05 编辑
darchir 发表于 2021-3-9 09:27
第一个应该是 input吧?
不是,第一行就是print提示一下的作用而已,真正读取输入的是for循环内的input。
还有,一楼的回答没测试过写错了,会导致不能退出读取,已经修改为正确答案,实在不好意思{:10_245:} hrp 发表于 2021-3-9 09:52
不是,第一行就是print提示一下的作用而已,真正读取输入的是for循环内的input。
还有,一楼的回答没 ...
我测试了,加了换行符。谢谢啦 逃兵 发表于 2021-3-9 08:29
string为一个字符串
第一种方法也是要一行一行输入的?
darchir 发表于 2021-3-10 09:36
第一种方法也是要一行一行输入的?
第一种是输入多行字符串赋值给一个变量string
第二种是输入多行字符串赋值给多个变量,每一行就是string1,string2... 逃兵 发表于 2021-3-10 09:54
第一种是输入多行字符串赋值给一个变量string
第二种是输入多行字符串赋值给多个变量,每一行就是stri ...
受教了,第二种有点看不懂{:5_94:} darchir 发表于 2021-3-10 14:07
受教了,第二种有点看不懂
啊哈,代码有错误,只有数字类型的字符串能运行,我修改了一下
a = []
string=1
while string:
string = input()
if string:
a.append(string)
for item in range(len(a)):
exec(f'string{item} = a')
print(eval(f'string{item}'))
比如你想生成一些变量,但是具体生成几个还没有想好
测试生成5个变量
abcd
语文
1234
aa123
数学98A
abcd
语文
1234
aa123
数学98A
>>> string0
'abcd'
>>> string1
'语文'
>>> string2
'1234'
>>> string3
'aa123'
>>> string4
'数学98A'
>>> string5
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
string5
NameError: name 'string5' is not defined 逃兵 发表于 2021-3-10 14:43
啊哈,代码有错误,只有数字类型的字符串能运行,我修改了一下
多谢大神!{:5_111:}
页:
[1]