脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python多行输入程序实例代码及扩展

Python多行输入程序实例代码及扩展

2022-12-08 10:59小惠哥hhy Python

我们都知道Python内置方法input只能输入一行内容,我们今天来实现输入多行文本功能,这篇文章主要给大家介绍了关于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)

输出:

Python多行输入程序实例代码及扩展

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)

输出:

Python多行输入程序实例代码及扩展

 

三、拓展

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 = '')

输出:

Python多行输入程序实例代码及扩展

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())

输出:

Python多行输入程序实例代码及扩展

 

总结

到此这篇关于Python多行输入程序的文章就介绍到这了,更多相关Python多行输入内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/xiaohuige_hhy/article/details/122474054

延伸 · 阅读

精彩推荐
  • Python用virtualenv建立多个Python独立虚拟开发环境

    用virtualenv建立多个Python独立虚拟开发环境

    这篇文章主要为大家详细介绍了用virtualenv建立多个Python独立虚拟开发环境,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    还是原来那个我5572020-11-24
  • PythonPython实战之实现康威生命游戏

    Python实战之实现康威生命游戏

    这篇文章主要介绍了Python实战之实现康威生命游戏,文中有非常详细的代码示例,对正在学习python的小伙伴们有非常好的帮助,需要的朋友可以参考下...

    源来很巧6232021-10-20
  • Pythonpython基础之set集合详解

    python基础之set集合详解

    这篇文章主要介绍了python基础之set集合详解,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下...

    思想流浪者11912021-10-15
  • Python使用python对文件中的单词进行提取的方法示例

    使用python对文件中的单词进行提取的方法示例

    这篇文章主要介绍了使用python对文件中的单词进行提取的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    陌上行走10272021-05-05
  • PythonPython执行时间的计算方法小结

    Python执行时间的计算方法小结

    这篇文章主要介绍了Python执行时间的计算方法小结的相关资料,需要的朋友可以参考下...

    wangshuang16315032020-09-24
  • Pythonpytest接口测试之fixture传参数request的使用

    pytest接口测试之fixture传参数request的使用

    本文主要介绍了pytest接口测试之fixture传参数request的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    果er9772021-12-23
  • PythonPython多进程并发(multiprocessing)用法实例详解

    Python多进程并发(multiprocessing)用法实例详解

    这篇文章主要介绍了Python多进程并发(multiprocessing)用法,实例分析了multiprocessing模块进程操作的相关技巧,需要的朋友可以参考下 ...

    songguo35262020-07-11
  • PythonNumpy之random函数使用学习

    Numpy之random函数使用学习

    这篇文章主要介绍了Numpy之random使用学习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小...

    每天进步一点点20174122021-05-24