Total newb at this and tried to figure this out. I know that the regular input function can accept single lines, but as soon as you try to write a string paragraph and hit enter for the next line, it terminates. Is there a beginner friendly way to accept multiline user string inputs as variables? Thanks!
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
A common way of doing this in programs is to have an "I'm done" string (e.g. a single period), and to keep reading in lines until the line read matches that string.
print("Enter as many lines of text as you want.")
print("When you're done, enter a single period on a line by itself.")
buffer = []
while True:
print("> ", end="")
line = input()
if line == ".":
break
buffer.append(line)
multiline_string = "\n".join(buffer)
print("You entered...")
print()
print(multiline_string)
回答2:
You can do that using sys library
import sys
x = sys.stdin.read()
回答3:
def processString(x):
print(x.replace('process','whatever'))
lines = ""
while True:
if lines == "":
lines = ""
print("Enter string:")
x = input()
if x == "" and lines != "":
processString(lines)
break
else:
lines += x
# then hit enter once after multi-line string to process it
回答4:
Line=""
while True:
x=input()
Line=Line+" "+x
if "." in x:
break
print(Line)