Python中的多行输入
Python中的多行输入一、概述二、代码部分1、已知行数多行输出2、未知行数多行输出三、拓展1、点餐系统2、文本编辑一、概述在Python里,我们有时候会做需要多行输出的程序。例如:1、点餐系统 不停地问:你要点什么食物?2、文本编辑 不停地输入文字(仅限IDLE等Python自带编辑器 )我们Python中有一种输入语句 : input但是,它只能单行输入所以呢,我们就要通过Python的其他语
Python中的多行输入
一、概述
在Python里,我们有时候会做需要多行输出的程序。
例如:
1、点餐系统 不停地问:你要点什么食物?
2、文本编辑 不停地输入文字(仅限IDLE等Python自带编辑器 )
我们Python中有一种输入语句 : input
但是,它只能单行输入
所以呢,我们就要通过Python
的其他语句
来实现多行输入
二、代码部分
1、已知行数多行输出
我们现在在已知行数的情况下多行输入,就很好办。
首先我们要获取行数:
lines = int(input("请输入您要输入的行数"))
之后就第一行、第二行、第三行……第n行这样输入就行了。我们可以用for循环解决。
for i in range(lines):
text += input("输入内容") + '\n' #引入一个text变量储存数据
最后的完整代码:
text = ''
lines = int(input("请输入您要输入的行数"))
for i in range(lines):
text += input("输入内容") + '\n'
print(text)
输出:
2、未知行数多行输出
当我们在输入多行文本的时候,因为我们不知道要输入多少行,所以如果再按已知行数多行输入的方法的话,有可能行数就会输少了。所以,未知行数多行输入的方法的重要性自然而然地也就出来了。
未知行数多行输入需要有一个终止标志,比如说输入“stop”就终止;输入“停”就终止;一换行就终止……这样才可以让程序知道:嗯,写完了。
这次我们使用换行来表示终止。
首先,我们需要一个提示语句,在input()
语句中我们写在括号里,这次我们直接用print语句输出。
print("开始写文章")
然后,因为我们要不停地让他输入,所以要用一个死循环。再不停执行input
语句。注意,因为要不停输入内容,所以input
语句中必须为空,如果填上输出语句,程序将不停输出提示语。而提示语因为只输出一遍就够了,所以我们在前面的代码需要提前用print
语句输出出来。 之后再加个判断,如果输入的内容为空,则用break
语句跳出循环。
while True:
line_text = input()
if line_text == '':
break
text += line_text + '\n'
最后的完整代码:
text = ''
line_text = ''
print("开始写文章")
while True:
line_text = input()
if line_text == '':
break
text += line_text + '\n'
print(text)
输出:
三、拓展
1、点餐系统
def add_food(food_dict):
add_foods = []
money = 0
print_i = 0
foods = food_dict.keys()
for i in food_dict:
print_i += 1
print("%d、%s%s元" % (print_i, i, food_dict[i]))
while True:
if len(add_foods) == 0:
want = input("你想要食物")
if want not in foods:
print("没有这个食物")
elif len(add_foods) != 0:
want = input("还要食物输入食物名称,不要就输入除食物名称外任意字符。你想要")
if want not in foods:
break
for k in foods:
if want == k:
add_foods.append(want)
money += food_dict[k]
print("总金额:%d" % money)
return money, add_foods
foods = {"香辣无骨鸡爪":5,
"老八秘制小汉堡":10,
"丝袜奶茶":5,
"狗浇尿":7,
"王致和臭豆腐":7,
"鲱鱼罐头":10}
money, food_list = add_food(foods)
print("你点了", end = '')
for food in food_list:
if food_list.index(food) == len(food_list) - 1:
print(food + '。')
else:
print(food + '、', end = '')
输出:
2、文本编辑
import os
file_name = ''
replace = ''
def add_diary(name):
input_text = ''
print("开始写日记:")
while True:
text = input()
if len(text) == 0:
break
input_text += text + '\n'
with open(name, 'w') as f:
f.write(input_text)
f.close()
while file_name == '':
file_name = input("输入一个你想要的文件名")
if os.path.isfile(file_name + ".txt") == True:
replace = input("文件夹中有此文件,是否替换?")
if replace == '否':
file_name = ''
add_diary(file_name + '.txt')
print(open(file_name + '.txt', 'r').read())
输出:
更多推荐
所有评论(0)