精华内容
下载资源
问答
  • Python控制台程序——手机销售系统

    千次阅读 2018-01-24 21:50:55
    引言 一个控制台手机销售系统,来测试python在非面向对象编程时的表现,python的强制缩进天然的代码排版机制。 我这里对文件进行操作时,需要自己创建这个文件,因为在运行的时候,给列表进行负值时读取的操作...

    引言    

        一个控制台手机销售系统,来测试python在非面向对象编程时的表现,python的强制缩进是天然的代码排版机制。

        我这里对文件进行操作时,需要自己创建这个文件,因为在运行的时候,给列表进行负值时是读取的操作

     没有写注释,都是简易的逻辑

    实现

    冗长的代码没有什么实际的参考意义,作为练手的小程序,能对python基础进行巩固


    def add_phone():
        name = input('请输入产品名称:')
        price = input('请输入产品单价:')
        sum = input('请输入库存数量:')
        phone = [name, price, sum]
        phone_list.append(phone)
        print('******添加成功******')
    
    
    def query_phone(sign=0):
        # sign=0时查询全部,1时查询第一列,2则根据序号进行查询
        if sign == 0:
            print('**********产品信息列表***********')
            for x in range(0, len(phone_list)):
                phone = phone_list[x]
                name = phone[0]
                age = phone[1]
                phone = phone[2]
                print('序号:%s 产品名称:%s 产品单价:%s 库存量:%s' % (x, name, age,
                                                      phone))
        elif sign==1:
            for x in range(0, len(phone_list)):
                phone = phone_list[x]
                name = phone[0]
                print('序号:%s 产品名称:%s ' %(x, name))
        elif sign==2:
            phone_num=int(input('请输入编号'))
            for x in range(0, len(phone_list)):
                if(x==phone_num):
                    print('序号:%s 产品名称:%s 产品单价:%s 库存量:%s' % (
                    x, phone_list[x][0], phone_list[x][1],
                    phone_list[x][2]))
    
    def update_phone(sign='sum'):
        if len(phone_list) == 0:
            print('没有产品信息,无法进行修改操作!')
            return
        if sign=='sum':
    
            num = int(input('请选择要修改的产品序号:'))
            while num not in range(0, len(phone_list)):
                num = input('没有该序号,请重选:')
                num = int(num)
            phone = phone_list[num]
            new_name = input('请输入修改后的产品名称(%s):'%phone[0])
            new_price  = input('请输入修改后的产品单价(%s):'%phone[1])
            new_sum = input('请输入修改后的库存量(%s):'%phone[2])
            phone[0] = new_name
            phone[1] = new_price
            phone[2] = new_sum
            print('----修改数据完成----')
        else:
            phone = phone_list[sign]
            phone[2] = str(int(phone[2])-1)
            if(int(phone[2])==0):
                del phone_list[sign]
            print('----购买完成----')
    
    
    def delete_student(sign='sum'):
    
        if len(phone_list) == 0:
            print('没有产品信息,无法执行删除操作!')
            return
        # 确认删除
        if sign == 'sum':
            rs = input('确定要删除所有信息?y(确定)/n(取消):')
            if rs == 'y':
                # 删除列表中的所有的数据
                phone_list.clear()
            else:
                print('删除数据操作已取消!')
        else:
            query_phone()
            index=int(input('请输入要删除的产品序号'))
            while index not in range(0, len(phone_list)):
                index = int(input('没有该序号,请重选:'))
            # 删除指定索引的数据
            del phone_list[index]
    
    def save_data():
        file_handle=open(file_name,mode='w')
        for student in phone_list:
            for stu_info in student:
                file_handle.write(stu_info)
                file_handle.write(' ')
            file_handle.write('\n')
    def read_data():
        file_handle=open(file_name)
        contents=file_handle.readlines()
        phone_list=[]
        for stu_info in contents:
            stu_info=stu_info.strip('\n')
            list_1=stu_info.split(' ')
            list_1.pop()
            phone_list.append(list_1)
        file_handle.close()
        return phone_list
    
    file_name='1.txt'
    phone_list=read_data()
    print(phone_list)
    
    while 1:
        print('------------------------------')
        print('1.查看所有信息品牌')
        print('2.更改产品库存信息')
        print('3.移除产品库存信息')
        print('4.退出')
        print('------------------------------')
        sign=int(input('请输入选项:'))
        if sign==1:
            query_phone(1)
            while 1:
                print('1.选择产品序号查看详情')
                print('2.返回上一级')
                sign1=int(input('请输入选项:'))
                if sign1==1:
                    query_phone(2)
                    while 1:
                        print('1.购买')
                        print('2.返回上一级')
                        sign2=int(input('请输入选项:'))
                        if sign2==1:
                            update_phone(1)
                            save_data()
                        elif sign2==2:
                            break
                        else:
                            print('没有该选项')
                elif sign1==2:
                        break
                else:
                    print('没有该选项')
        elif sign==2:
            while 1:
                print('1.添加新产品')
                print('2.修改已有产品')
                print('3.返回上一级')
                sign3=int(input('请输入选项:'))
                if sign3==1:
                    add_phone()
                    save_data()
                elif sign3==2:
                    query_phone()
                    while 1:
                        print('1.根据选择序号进行修改')
                        print('2.返回上一级')
                        sign4=int(input('请输入选项:'))
                        if sign4==1:
                            update_phone()
                            save_data()
                        elif sign4==2:
                            break
                        else:
                            print('没有该选项')
                elif sign3==3:
                    break
                else:
                    print('没有该选项')
        elif sign==3:
            while 1:
                print('1.产看所有产品,根据序号移除')
                print('2.移除所有产品')
                print('3.返回上一级')
                sign5=int(input('请输入选项:'))
                if sign5==1:
                    delete_student(1)
                    save_data()
                elif sign5==2:
                    delete_student()
                    save_data()
                elif sign5==3:
                    break
                else:
                    print('没有该选项')
        elif sign==4:
            print('欢迎下次使用!')
            break
        else:
            print('没有该选项!')
    

    展开全文
  • 是什么? 该软件旨在成为电力系统研究和仿真的完整平台。 并 安装 尝试: pip install GridCal 有关更多选项(包括独立设置),请遵循项目的。 执行 GridCal可以以两种方式使用: 1. From the user interface ...
  • python读取控制台输入

    千次阅读 2020-04-15 17:07:19
    input() 内置函数,从控制台读取用户输入的内容。 总是以字符串来处理用户输入,所以用户输入的内容可以包含任何字符。   用法 str = input(tipmsg) str 表示一个字符串类型的变量,input 会将读取到的字符...

    py3的input

    • input() 是内置函数,从控制台读取用户输入的内容。
      • 总是以字符串来处理用户输入,所以用户输入的内容可以包含任何字符。

    • str = input(tipmsg)
    • str 表示一个字符串类型的变量,input 会将读取到的字符串放入 str 中。
    • tipmsg 提示信息,显示在控制台上,
      • 告诉用户应该输入什么样的内容;如果不写 tipmsg,就不会有任何提示信息。

    a = input("Enter a number: ")
    b = input("Enter another number: ")
    print("aType: ", type(a))
    print("bType: ", type(b))
    result = a + b
    print("resultValue: ", result)
    print("resultType: ", type(result))
    
    • 运行结果

    Enter a number: 100↙
    Enter another number: 45↙
    aType: <class ‘str’>
    bType: <class ‘str’>
    resultValue: 10045
    resultType: <class ‘str’>

    ↙表示按下回车键,按下回车键后 input() 读取就结束了。

    • Python只是它们当成了字符串,+起到了拼接字符串的作用,而不是求和的作用。

    • 内置函数将字符串转换成想要的类型,如:
    • int(string) 将字符串转换成 int 类型;
    • float(string)
    • bool(string)

    a = input("Enter a number: ")
    b = input("Enter another number: ")
    a = float(a)
    b = int(b)
    print("aType: ", type(a))
    print("bType: ", type(b))
    result = a + b
    print("resultValue: ", result)
    print("resultType: ", type(result))
    

    • 结果:
      Enter a number: 12.5↙
      Enter another number: 64↙
      aType: <class ‘float’>
      bType: <class ‘int’>
      resultValue: 76.5
      resultType: <class ‘float’>

    参考链接

    • http://c.biancheng.net/view/4228.html
    展开全文
  • 引用文章1:sys.argv是什么? - 7sDream的回答 - 知乎 引用文章2:sys.argv是什么? - 磨斯的回答 - 知乎 引用文章:python 命令行传入参数实现解析 sys.argv 就是一个从程序外部获取参数的桥梁 「argv」是「...

    引用文章1:sys.argv是什么? - 7sDream的回答 - 知乎
    引用文章2:sys.argv是什么? - 磨斯的回答 - 知乎
    引用文章3:python 命令行传入参数实现解析
    引用文章4:python sys.argv是什么?

    1)
    sys.argv 就是一个从程序外部获取参数的桥梁

    2)
    「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序。

    这个变量其实是一个List列表,argv[0] 一般是被调用的脚本文件名或全路径,和操作系统有关,argv[1]和以后就是传入的数据了。

    然后我们再看调用脚本的命令行:python using_sys.py we are arguments

    python就不用说了,「using_sys.py」脚本名,后面的用空格分割开的「we」「are」「argument」就是参数了。

    PS.一般参数由空格分隔,如果参数内部有空格要使用英文双引号引起来比如这样:python using_sys.py hi "I'm 7sDream"

    3)
    sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数
    sys.argv[0] 代表当前module的名字

    ps. 这啥情况,sys.argv后显示不了?

    在这里插入图片描述

    测试1 测试argv[0]:

    # -*- coding: utf-8 -*-
    """
    @File    : test3.py
    @Time    : 2020/4/2 15:04
    @Author  : Dontla
    @Email   : sxana@qq.com
    @Software: PyCharm
    """
    import sys
    
    result = sys.argv[0]	
    print(result)	# C:/Users/SIQI/Desktop/PyQt5/test3.py
    # sys.argv[0]就是这个程序本身
    
    

    在这里插入图片描述

    测试2

    # -*- coding: utf-8 -*-
    """
    @File    : test3.py
    @Time    : 2020/4/2 15:04
    @Author  : Dontla
    @Email   : sxana@qq.com
    @Software: PyCharm
    """
    import sys
    
    result = sys.argv[1:]
    print(result)
    
    

    保存代码,然后在控制台运行:

    C:\Users\SIQI\Desktop\PyQt5>python test3.py 我是 一只 小毛驴
    

    结果:

    
    C:\Users\SIQI\Desktop\PyQt5>python test3.py 我是 一只 小毛驴
    ['我是', '一只', '小毛驴']
    
    C:\Users\SIQI\Desktop\PyQt5>
    

    在这里插入图片描述

    测试3

    # -*- coding: utf-8 -*-
    """
    @File    : test3.py
    @Time    : 2020/4/2 15:04
    @Author  : Dontla
    @Email   : sxana@qq.com
    @Software: PyCharm
    """
    import sys
    
    print(sys.argv)
    if __name__ == '__main__':
        print('Programe name'.format(sys.argv[0]))
        for i in range(1, len(sys.argv)):
            print('arg{} {}'.format(i, sys.argv[i]))
    
    

    保存代码,然后在控制台运行:

    C:\Users\SIQI\Desktop\PyQt5>python test3.py 1 2 3 4 5
    

    结果:

    
    C:\Users\SIQI\Desktop\PyQt5>python test3.py 1 2 3 4 5
    ['test3.py', '1', '2', '3', '4', '5']
    Programe name
    arg1 1
    arg2 2
    arg3 3
    arg4 4
    arg5 5
    
    C:\Users\SIQI\Desktop\PyQt5>
    

    在这里插入图片描述

    展开全文
  • 不管get还是post请求,获取到页面都会报下图乱码,望各位兄弟姐妹帮帮忙。 ``` from tornado.httpclient import HTTPClient,HTTPRequest def getRequest(url,): httpclient = HTTPClient() response = ...
  • 在windows的控制台中执行编辑好的脚本eee.py 》》》python eee.py File“《stdin》”,line 1 python eee.py syntaxError:invalid syntax ![图片说明]...
  • 很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目。...开始前,我们先简明扼要的讨论一下Python是什么,以及Python应该注意的一些规范。 1、Python简介 Python广...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目。

    今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新手,也完全可以跟着操作。

    image

    开始前,我们先简明扼要的讨论一下Python是什么,以及Python应该注意的一些规范。

    1、Python简介

    Python广泛应用web开发、人工智能、数据分析、自动化运维领域,对初学者来说,是一门相对于其他程序设计语言来讲容易上手的一门程序设计语言。

    2、规范

    在Python之中使用#来表示单行注释,三重引号来表示多行注释,注释应该遵循 “奥卡姆剃刀原理”,即不要使用不必要的注释,好的代码胜于千言万语。

    如无必要,勿增实体
    在对变量和函数命名的时候,尽量要使用英文单词,一眼就能明白该变量或该函数的用处。

    如有必要,可以使用todo注释,来表明将来要做某事,例如下面的注释

    # TODO(Zeke) Change this to use relations.
    

    那么接下来,我们进入这次文章的主题吧——控制台的井字棋游戏,效果如下图所示。

    image

    image

    既然是控制台游戏,我们欢迎界面就不做的花里胡哨的了。

    1、首先我们先创建一个欢迎界面(界面如下)

    其实就是在屏幕上输出下面格式的内容

    image


    我们可以使用pycharm、IDLE、sublime等开发工具来帮助我们开发,首先我们先创建一个game.py文件,打开文件,输入如下的代码:

    image

    此时,我们可以测试一下,这个欢迎界面是否正常。

    2、确认玩家选择哪种标记

    这里我们就假设只能选择O或者X?这里我们让玩家自己选择。我们一样定一个函数来确定玩家的使用标记。

    image


    3、确认玩家还是电脑先手

    这里采用了random模块,来随机确定玩家先手还是电脑先手。

    原理:我们产生一个从0到1的随机整数,如果是0就是电脑先手,如果非0就是玩家先手。

    image

    4、接下来主要的游戏逻辑部分的确定,输赢判断的逻辑(重点)。

    我们先把游戏的步骤给大家分析清楚了。

    image

    5、游戏的运行逻辑

    电脑与玩家轮流下棋,每次下棋都要判断要下的位置是否已经有棋了,并且下完后判断是否产生了进行输赢的判断。

    原文发布时间为:2018-07-23
    本文作者: 小詹学Python
    本文来自云栖社区合作伙伴“小詹学Python”,了解相关信息可以关注“小詹学Python

    展开全文
  • 1年前过度到3.0py的时候就遇到了这个问题,一直没心思解决,想着只要环境变量搞定了就完了,...说了这么多,反正就是同时在一个产品中维护2个控制台是非常麻烦的事情,所以总不是阉割了ipython吧 反正ipython可以...
  • 以往安装完anaconda之后,一般环境变量什么配置好的。 但是今天遇到一个安装完之后,输入python依然打开windows store 进入环境变量列表查看之后 发现了用户变量中的Path有一项 %USERPROFILE%\AppData\Local\...
  • 在学习Python过程中遇到一个这样的问题,也算是一个小BUG吧。题目大意这样的:创建列表,要求其中包含数字1-1000000(一百万),并输出所有数字。同时,使用min(),max(),sum()函数对这个列表进行处理。看到这个...
  • 交互模式是Python shell的一项功能,可为您在控制台上输入的每条语句提供即时反馈。Python有一个简单的编码风格,很容易用一点知识和正确的工具来捕捉。因此,这初学者计划在编程职业生涯中首选的语言。 1P...
  • 交互模式是Python shell的一项功能,可为您在控制台上输入的每条语句提供即时反馈。Python有一个简单的编码风格,很容易用一点知识和正确的工具来捕捉。因此,这初学者计划在编程职业生涯中首选的语言。**推荐下小...
  • 是什么原因呢? 这不是程序的原因,而是控制台的原因,我们有时候无意识的在控制台点了鼠标,会出现一个白色框停留在界面上(如上图), 那其实就是界面阻塞了, 鼠标点一下为什么界面就阻塞了,因为控制台...
  • 我用的3.2的,有些地方和老版本不一样,比如print什么的。存储的话,就是用的教程中的pickle, 大家只要改下datafile,保证文本文件存在即可,运行开始先init,给文本文件查一行数据。欢迎大家交流, 由于python...
  • 交互模式是Python shell的一项功能,可为您在控制台上输入的每条语句提供即时反馈。Python有一个简单的编码风格,很容易用一点知识和正确的工具来捕捉。因此,这初学者计划在编程职业生涯中首选的语言。**推荐下小...
  • 最近在用树莓派做毕业设计,学习别人的代码python代码时接触到了numpy,紧...其中IN和OUT并不是python中的关键字,而是我所浏览的博客博主们所用python交互模式下在控制台进行操作时,系统所给的的提示,可以了解一下p
  • 我用的是Python2.6 有这个一个程序, 输入文件名, 先是检查文件名, 文件名不存在,则对文件输入内容。 我指定输入'.'的时候停止输入, 但是程序运行过程中,即使输入了'.'循环也不会break掉。 为什么? ...
  • 交互模式是Python shell的一项功能,可为您在控制台上输入的每条语句提供即时反馈。Python有一个简单的编码风格,很容易用一点知识和正确的工具来捕捉。因此,这初学者计划在编程职业生涯中首选的语言。**推荐下小...
  • 1. 问题描述: 自己定义的python模块,在PyCharm中执行时可以正常import,但是在控制台中执行时报错 ...什么是sys.path? sys.path一个list,是python脚本执行时的一个环境变量,里面存放该脚本所有可导入模块的所在.
  • input() Python 的内置函数,用于从控制台读取用户输入的内容。input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符。input() 函数的用法为:str = input(tipmsg)说明:str...
  • 交互模式是Python shell的一项功能,可为您在控制台上输入的每条语句提供即时反馈。Python有一个简单的编码风格,很容易用一点知识和正确的工具来捕捉。因此,这初学者计划在编程职业生涯中首选的语言。 1P...
  • 爬虫入门容易。随便拉个智商正常的大学生,不用一个星期就能教他会爬豆瓣。如果一直停留在仅仅爬爬豆瓣电影,采...chrome控制台,清cookie,js打断点。* Pyspider/Scrapy等爬虫框架。* NoSQL、SQL* 在linux下开发加...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 494
精华内容 197
关键字:

python控制台是什么

python 订阅