精华内容
下载资源
问答
  • 用户购买商品的输入判断 数据的修改已更新 休闲小游戏的整合 用户登录注册 列表的初始化与赋值 users=[['admin','admin'],['tom','123456']] g1=[1000,'可口可乐(罐装)',2.5,100] g2=[1001,'可口可乐(瓶装...

    电子商城功能

    • 用户登录注册
    • 页面之间的跳转
    • 用户购买商品的输入判断
    • 数据的修改已更新
    • 休闲小游戏的整合

    用户登录注册

    列表的初始化与赋值

    users=[['admin','admin'],['tom','123456']]
    g1=[1000,'可口可乐(罐装)',2.5,100]
    g2=[1001,'可口可乐(瓶装)',3.0,100]
    g3=[1002,'可口可乐(小瓶装)',2.5,100]
    g4=[1003,'可口可乐(大瓶装)',6.0,100]
    goods=[g1,g2,g3,g4]
    score=10
    

    用户登录

    根据python逐行解释的特性设计逻辑,从而跳出多个循环
    遍历用户列表匹配用户信息,进行身份认证

            os.system('cls')
            while 1.1:
                name = input("请输入您的用户名:")
                password = input('请输入您的密码:')
                for username in users:
                    if username[0] == name and username[1] == password:
                        input ("用户登录成功,按任意键进入首页")
                        time.sleep(1)
                        break
                else:
                    input("用户名或密码错误!按任意键继续!")
                    os.system('cls')
                    continue
                break
    

    用户注册

    在循环中可以通过变量的控制,从而实现多个循环的跳出

    #用户注册
            break_flag = False
            while break_flag == False:
                name = input('请输入您的用户名:')
                #判断用户名是否存在
                for username in users:
                    if username[0] == name:
                        input("你的用户名已存在,请重新输入")
                        break
                #在for循环中添加else,使得在遍历完成后等够跳出两层循环
                else:
                    break_flag = True
            password = input('请输入您的密码:')
            #把注册的用户加入到用户列表中
            register = [name, password]
            users.append(register)
            input("注册成功,按任意键返回!")
    

    超市页面

    首先进行输入判断

    str.isdigit() #判断输入是否为数字

    取出列表中的索引与值,以便下面操作二维列表的时候使用,同时明确选择的商品完整信息

    i, rows in enumerate(goods)#输出索引和值

    之后进行库存判断,明确商品可以购买

    #判断输入的是否为整数
                    if Input.isdigit():
                        #遍历商品列表,得到商品信息
                        for i, rows in enumerate(goods):#输出索引和值
                            back = False
                            #判断输入商品编号是否存在
                            if int(Input) == rows[0]:
                                Input = rows[0]
                                # 判断商品是否还有库存
                                if rows[3] > 0:
                                    while 1:
                                        buy = input("请输入你要购买的数目:")
                                        if buy.isdecimal():  # 判断输入是否为整数,判断完成后在进行int操作,防止出错 PS:可以使用try except
                                            buy = int(buy)
                                            #判断输入合法
                                            if buy > rows[3]:
                                                input("购买数目过大,按任意键返回")
                                                continue
                                            else:
                                                break
                                        else:
                                            input('输入有误,按任意键返回!')
                                            continue
    

    付账信息明确
    运用try...except... 进行异常处理是实现金额输入标准化

    #输入金额判断
    money = input('请输入金额:')
    try:  # 判断输入金额是否为数字,可能存在零钱,使用try 收集异常,做到判断
        money = float(money)  # 转换为float预防用户输入为浮点数
            if money > 0:
                break
            else:
                input('输入有误,按任意键返回')
                continue
    except ValueError:#异常信息 传入无效的参数
        print('输入有误,按任意键返回!')
        continue
    

    商品购买流程

    #商品购买
    #判断金额是否满足条件
    if money > rows[2] * buy:
        print('找您%.2f元钱' % (money - rows[2] * buy))
        print('感谢您的购买,欢迎下次再来!')
        # 修改库存
        goods[i][3] = goods[i][3] - buy
        input('按任意键返回')
        back = True
        break
    elif money < rows[2] * buy:
        while 5:
            #金额不足再次输入
            money1 = input("您支付的金额不足,请再次付账:")
            try:
                money1 = float(money1)
                money = money + money1
                break
            except ValueError:
                input('您的输入有误,按任意键重新输入!')
                continue
    else:
        print('感谢您的购买,欢迎下次再来!')
        #商品库存修改
        goods[i][3] = goods[i][3] - buy
        input('按任意键返回')
        back = True
        break
        time.sleep(2)
    

    小游戏整合

    老虎棒子鸡

    # 老虎棒子鸡游戏界面
    os.system('cls')
    print("\t\t欢迎进入PY1807电子商城休闲区")
    print("#" * 70)
    print("\t欢迎进入老虎棒子鸡小游戏规则页面")
    print('\t你有10秒的时间观看规则,十秒后自动进入游戏')
    print("\t游戏的规则是老虎吃鸡,棒子打老虎,虫子克棒子,鸡吃虫子")
    print("\t当然老虎与虫子->平局,棒子与鸡->平局")
    print("\t系统会自动出招")
    print("\t玩家根据提示,输入自己的招式[0 老虎,1 棒子,2 鸡,3 虫子]")
    print("\t系统会根据运算得出结果,根据结果给予奖励")
    print("#" * 70)
    time.sleep(5)
    os.system('cls')
    
    # 积分判断
    if score > 0:
        print('加载游戏中,请稍后...')
        time.sleep(1)
        while 1:
            print("\n系统正在绞尽脑汁的出招中...")
            time.sleep(1)
            print("\n准备接受正义的制裁吧!到你了,凡人")
            time.sleep(1)
            # 系统获得随机数
            game1_computer = random.randint(0, 3)
            # 玩家出招
            game1_player = input("\n请谨慎选择您的招数(0 老虎,1 棒子,2 鸡,3 虫子):")
            game1_player = int(game1_player)
            # 判断输赢
            print("\n电脑正在卖力的处理中,请稍等...\n")
            time.sleep(2)
            if (game1_player == 0 and game1_computer == 2) \
                    or (game1_player == 1 and game1_computer == 0) \
                    or (game1_player == 2 and game1_computer == 3) \
                    or (game1_player == 3 and game1_computer == 1):
                print("\nCongratulations, 玩家获胜!获得2积分\n")
                score += 2
                time.sleep(1)
    
                # 确认用户是否退出
                num = input("\n是否退出游戏(Y):")
                if num == 'y' or num == 'Y':
                    os.system('cls')
                    break
            elif (game1_player == 0 and game1_computer == 3) \
                    or (game1_player == 1 and game1_computer == 2) \
                    or (game1_player == 2 and game1_computer == 1) \
                    or (game1_player == 3 and game1_computer == 0) \
                    or (game1_player == game1_computer):
                print("\n哇哦,平局!看来还需要一局了")
                time.sleep(2)
                os.system("cls")
            else:
                print("\nSORRY,你输了!扣除1点积分\n")
                score = score - 1
                time.sleep(1)
                # 确认用户是否退出
                num = input("\n是否退出游戏(Y):")
                if num == 'y' or num == 'Y':
                    os.system('cls')
                    break
    else:  # 积分不足
        print("积分不足,退出游戏")
        time.sleep(2)
        break
    

    猜数字游戏

    # 猜数字游戏
    os.system('cls')
    print("\t\t欢迎%s进入PY1807电子商城休闲区" % (name))
    print("#" * 70)
    print("\t欢迎进入猜数字小游戏规则页面")
    print('\t你有10秒的时间观看规则,十秒后自动进入游戏')
    print("\t游戏的规则是系统会从0-100之间随机选择一个数")
    print("\t玩家猜测系统出的数")
    print("\t若玩家猜测的数比系统的大,系统会提示偏大")
    print("\t若玩家猜测的数比系统的小,系统会提示偏小")
    print("\t玩家猜错一次扣一分,才对获得6积分的奖励")
    print("#" * 70)
    time.sleep(5)
    os.system('cls')
    print('系统正在选择时...')
    time.sleep(2)
    os.system('cls')
    print('系统以选择完毕!!!')
    game2_computer = random.randint(0, 100)
    time.sleep(1)
    while 1:
        # 积分判断
        if score > 0:
            game2_player = int(input("请输入您猜测的值(扣除1积分):"))
            time.sleep(1)
            # 判断结果
            if game2_player < game2_computer:
                print('您猜测的数字偏小,请重新输入!\n')
                time.sleep(1)
                score = score - 1
                print("当前积分为%d" % (score))
                time.sleep(1)
                continue
            elif game2_player > game2_computer:
                print("您猜测的数字偏大,请重新输入!\n")
                time.sleep(1)
                score = score - 1
                print("当前积分为%d" % (score))
                time.sleep(1)
                continue
            else:
                print('恭喜您成功了,获得6积分')
                time.sleep(1)
                score = score + 6
                print("当前积分为%d" % (score))
                time.sleep(1)
                print('游戏结束,返回游戏页面')
                time.sleep(1)
                print('系统正在重新加载中...')
                time.sleep(1)
                break
        else:
            print('积分不足,退出游戏!')
            break
    展开全文
  • <p><br /> VALUE_1 = "Car Registration No" VALUE_2 = "Car Make" VALUE_3 = "Car Model" VALUE_4 = "Car price"... VALUE_15</p>
  • 先确定出学生人数a,然后利用for循环循环a次,以输入a个学生信息,同时将不同类型信息分开保存至对应列表,最后再将几个列表转化为一个字典,再对字典排序。 实验代码 a=int(input("请输入学生人数:")) num_list=[]...

    算法思想

    先确定出学生人数a,然后利用for循环循环a次,以输入a个学生信息,同时将不同类型信息分开保存至对应列表,最后再将几个列表转化为一个字典,再对字典排序。

    实验代码

    a=int(input("请输入学生人数:"))
    num_list=[]
    name_list=[]
    d={}
    for i in range(a):
        num=input("学号为:")
        name=input("姓名为:")
        print("\n")
        num_list.append(num)
        name_list.append(name)
        
    d=dict(zip(num_list,name_list))
    new_d=dict(sorted(d.items(),key=lambda x:x[0]))    
    print(new_d)
    

    new_d=dict(sorted(d.items(),key=lambda x:x[0])) 的解读:
    d.items()实际上是将d转换为可迭代对象,将字典元素转化为了列表。key参数对应的lambda表达式的意思则是选取元组中的第一个元素作为比较参数,也就是key值作为比较对象,若将改为key=lambda x:x[1]则是选取第二个元素作为比较对象,也就是values值作为比较对象。

    展开全文
  • sys模块里面直接用args = sys.argv就可以获取到所有参数了(返回值args是一个list),args0]是执行的python文件路径名,args[1:]后面的才是真正命令行输入的参数,用个for循环就可以一一读取args列表,示例代码如下...

    (一)单一独立的参数

    如果命令行输入的参数都是各自单一独立的,直接用个循环把所有参数逐一读出来就行了。sys模块里面直接用args = sys.argv就可以获取到所有参数了(返回值args是一个list),args0]是执行的python文件路径名,args[1:]后面的才是真正命令行输入的参数,用个for循环就可以一一读取args列表,示例代码如下:

    import sys

    def usage():

    print """

    This is usage.

    This is usage.

    This is usage.

    """

    def main(argv):

    for arg in argv[1:]:

    if arg == "-t":

    pass

    elif arg == "-h" or arg == "--help":

    usage()

    sys.exit()

    elif arg == "-p":

    pass

    else:

    print "Error: invalid parameters"

    sys.exit()

    if __name__ == "__main__":

    main(sys.argv)

    (二)参数结合

    如果要读取:-t mytest 这样的组合参数,上面的方法就行不通了,在shell里面有shift可以直接移到下一个参数,但在python没有shift的功能,所以得换种方式。一种方法是用getopt模块(官方文档关于getopt的解释:点击打开链接):getopt模块里面的getopt函数可以指定参数可能的类型并且获取所有参数。

    用法:

    getopt.getopt(args, options[, long_options])

    options参数指定短式输入,也就是单横杠"-",例如"-h",long_options是可选的,用于指定长式输入,也就是双横杠"--",例如"--help"。如果是单一参数输入,options和long_options都只需要直接写参数名,例如下面这句代码指定两个单一参数:-h/--help -t/--test:

    opts, args = getopt.getopt(sys.argv[1:], "ht", ["help", "test""])

    如果是后面还要继续接参数的,options要在参数名后面加冒号":",long_options要在参数名后面加等号"=",例如下面这句代码指定三个参数:-h/--help -t/--test -r path / --root path:

    opts, args = getopt.getopt(sys.argv[1:], "htr:", ["help", "test","root="])

    getopt函数的返回值有两个,一般只用第一个,如下面的代码,第一个返回值opts :" is a list of (option, value) pairs",也就是一个 -t mytest 这样的元素对,当然如果-t后面不需要再接参数的话,那就没有value值了。利用这个pairs返回值,我们可以用个for循环获取参数,不管是单一独立的参数,还是结合的参数,都可以,示例代码如下:

    import sys

    import getopt

    def usage():

    print """

    This is usage.

    This is usage.

    This is usage.

    """

    def main(argv):

    try:

    opts, args = getopt.getopt(sys.argv[1:], "m:p:h", ["miner=", "params=", "help"])

    except getopt.GetoptError:

    usage()

    sys.exit()

    for opt, arg in opts:

    if opt in ["-h", "--help"]:

    pass

    elif opt in ["-t", "--test"]:

    pass

    elif opt in ["-p", "--path"]:

    param = arg

    print param

    sys.exit()

    else:

    print "Error: invalid parameters"

    usage()

    sys.exit()

    if __name__ == "__main__":

    main(sys.argv)

    另外,还有个知识点就是,如果想要print一大段string怎么办,用三个双引号包住即可,如上面的代码中usage函数,并且要注意的是三双引号里面的内容不用缩进,直接从最开头开始写,否则会导致出错。

    展开全文
  • 用户输入和while循环用户输入和while循环函数input()的工作原理小例子用户int()来获取数值输入求模运算符while循环简介让用户选择何时退出...循环来处理列表和字典删除包含特定值的所有列表元素使用用户输入来填充字典...

    用户输入和while循环

    函数input()的工作原理

    函数input()让程序暂停运行,等待用户输入一些文本,获取用户输入后,python将其存储在一个变量中,以方便我们使用。

    小例子

    message = input("你最喜欢的水果是什么?")
    print("用户最喜欢的水果是:"+message)
    print("编写清晰的程序:")
    

    用户int()来获取数值输入

    age = input("how old are you?\n")
    print(age)
    age = int(age)
    print(age==22)
    

    求模运算符

    处理数值信息时,求模运算符(%)是一个很有用的数值,它将两个数相除,并返回余数:

    num_1 = input("请输入第一个数字:")
    num_2 = input("请输入第二个数字:")
    num_1 = int(num_1)
    num_2 = int(num_2)
    
    print("余数为:")
    print(num_1 % num_2)
    

    while循环简介

    for循环用于针对集合中的每个元素的一个代码块,而while循环不断的运行,直到指定的条件不满足为止。

    num_0 = 0
    while num_0<=10:
       print(num_0)
       num_0 += 1
    

    让用户选择何时退出

    prompt = "\n输入一些文字,我会将它显示给你。"
    prompt += "\n输入exit来退出次程序。"
    message = ""
    while message != 'exit':
       message = input(prompt)
       print(message)
    
    print("bye!")
    

    使用标志

    prompt = "\n输入一些文字,我会将它显示给你。"
    prompt += "\n输入exit来退出次程序。"
    message = ""
    active = True
    while active:
       message = input(prompt)
       if message == 'exit':
           active = False
       else:
           print(message)
    

    使用break退出循环

    prompt = "\n输入一些文字,我会将它显示给你。"
    prompt += "\n输入exit来退出次程序。"
    message = ""
    while True:
       message = input(prompt)
       if message == 'exit':
           break
       else:
           print(message)
    

    在循环中使用continue

    num_0 = 0
    while num_0<=20:
       num_0 += 1
       if num_0 % 2 == 0:
           continue
    
       print(num_0)
    

    避免无限循环:

    每一个while循环都必须有停止运行的途径,这样才不会没完没了地执行下去。

    x = 1
    while x <= 5:
       print(x)
       x += 1
    

    如果上面的代码一不小心漏掉了x += 1,它就会一直运行:

    x = 1
    while x <= 5:
       print(x)
    

    使用while循环来处理列表和字典

    for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可以使用while循环。
    首先创建一个待验证的用户列表和一个存储已验证用户的列表:

    unconfirmed_users = ['zulpikar','friday','monday','sherock']
    confirmed_users = []
    

    验证每一个用户直到没有未验证的用户为止。
    将每一个已验证用户移动到已验证用户列表中:

    while unconfirmed_users:
        current_user = unconfirmed_users.pop()
        print("正在验证的用户"+current_user.title())
        confirmed_users.append(current_user)
    
    print("下面是已验证用户的列表:")
    for confirmed_user in confirmed_users:
        print(confirmed_user+".....√ ")
    

    删除包含特定值的所有列表元素

    pets = ['cat','cat','cat','cat','cat','cat','dog']
    while 'cat' in pets:
        pets.remove('cat')
    print(pets)
    print("\n")
    

    使用用户输入来填充字典

    responses = {}
    active = True
    
    while active:
        name = input("你叫什么名字:")
        response = input("哪座山是你最想爬:")
        
        responses[name] = response
        
        repeat = input("还有人想参与问卷调查吗?(yes/no)")
        if repeat == 'no':
            active = False
    
    print("\n--结果:")
    print(responses)
    for name,response in responses.items():
        print(name + "想爬" + response + "。")
    
    展开全文
  • sys模块里面直接用args = sys.argv就可以获取到所有参数了(返回值args是一个list),args0]是执行的python文件路径名,args[1:]后面的才是真正命令行输入的参数,用个for循环就可以一一读取args列表,示例代码如下...
  • for循环实现用户输入用户名密码,如输入错误3次结束循环。 1 # _author: Administrator 2 # date: 2018/10/11 3 _user = "admin" 4 _pass = "12345" 5 6 #flag_passed = False #标志位 7 for x in ...
  • 目录6.1、input()方法原理6.1.2、用函数int()来获取数值输入6.1.3、取模运算符6.2、while循环介绍6.2.1、while循环6.2.2、while循环何时退出6.2.3、while循环使用break退出循环6.2.4、while循环使用continue语句6.3...
  • 如果想要把列表中的值依次拿出来使用,或者依次输入,可以用for循环遍历列表。 1.写一段程序,让用户把整数输入列表中,再把列表内的整数全部相乘。 numbers=[] #定义一个空列表 total=int(input("输入列表内要有...
  • 1 # -*- coding: utf-8 -*- 2 3 ''' 4 --------------------------... 6 问题描述:非int型输入输入,无法使代码不报错,输出至报错 7 解决方案:isdigit()判断输入合法性 8 状态:已解决 9 --------...
  • 函数input()的用法,while循环的简介,使用while循环来处理列表和字典。
  • python_循环间断

    2021-05-21 11:36:19
    列表推导式2.字典推导式3.集合推导式4.生成器推导式(生成元组)六、应用1.同心圆2. 棋盘 一、break 语句 break 语句可用于while 和for 循环,用来结束整个循环。当有嵌套循环时,break 语句只能跳出最近一层的循环...
  • python3——循环列表

    2018-01-16 19:51:17
    1.循环 1.输出1-100的偶数和、奇数和 2.请用户输入数字,求和,直到输出0时退出 3.输入1-100,遇到3和5的倍数输出当前值+是3和5的倍数 4.for循环 4.1range()函数,它会生成有序数列 5.嵌套循环 ...
  • for循环时一种遍历列表的有效方式,但在for循环中不应该修改列表,否则将导致python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过while循环列表和字典结合起来使用,可收集,存储并...
  • 缩两个列表,将最短的列表输入到 itertools.cycle,使其无限重复(直到sku_key_ 结束) sku_key_ = [‘S’, ‘M’, ‘L’, ‘XL’, ‘2XL’] sku_value_ = [‘浅蓝色’] for j,i in zip(itertools.cycle(sku_value_),sku...
  • 循环 for循环: for 变量 in range(起点,终点,步长): 循环体 #输入三个数,如果其中有一个值大于1000,则提示,输入的数值有大于1000的。 for i in range(3): a = int(input("请输入一个数")) if a&...
  • Python知识总结 1、列表生成式 ​ 在实际开发过程中,当需要获取一个...由于python中存在内置函数,使用循环过于繁琐,python中的列表生成式可以一句语句代替循环生成的list。 def cal(a): ...
  • Python 基础 -- 用户输入和 While ... 使用 while 循环来处理列表和字典3.1 在列表中移动元素3.2 删除包含特定值的列表元素3.3 使用用户输入来填充字典 之前所有的程序都没有用户自己输入的部分,但是在录入信息时,需
  • python列表练习

    2020-09-15 10:55:50
    根据products列表写一个循环,不断询问用户想买什么,用户选择一个商品编号, 就把对应的商品添加到购物车里,最终用户输入q退出时,打印购买的商品列表。 products = [["iphone",6888],["MacPro",14800],["小米6",...
  • python获取命令行输入参数列表

    万次阅读 2017-04-25 11:49:29
    sys模块里面直接用args = sys.argv就可以获取到所有参数了(返回值args是一个list),args0]是执行的python文件路径名,args[1:]后面的才是真正命令行输入的参数,用个for循环就可以一一读取args列表,示例代码如下...
  • 假设输入为 a = [[1, 2], [3, 4]] ...所以首先得到 num = [1, 2],然后再执行第二个for循环,第二个循环迭代num,所以得到1, 2 两个num,所以暂时得到 c = [1, 2 ..,然后再在第二个num列表循环得到 c = ...
  • Python学习笔记|while循环案例简述涉及知识点python代码总结 案例简述 能自动实现多次货币换算。 涉及知识点 while循环 python代码 USD_VS_RMB = 6.77 currency_str_value = input('请输入带单位的货币金额...
  • Python 列表实现杨辉三角 杨辉三角 #定义一个二维列表 xh = [] number = int(input(‘请输入XH三角层数:’)) #外层循环控制层数 for i in range(number): #每次循环前清空数据 ls = [] # PS: | 逻辑符号 两边对于...
  • 文章目录while循环的使用选择何时退出使用标志使用break 退出循环循环中使用continue使用while 循环来处理列表和字典在列表之间移动元素删除包含特定值的所有列表元素使用用户输入来填充字典 for 循环用于针对集合...
  • Python_循环拼接字符串

    千次阅读 2020-01-19 18:00:18
    使用可变对象(列表)代替不可变对象(字符串),进行频繁操作 """ 在终端中循环录入字符串,如果录入为空,则停止 打印所有内容为一个字符串 """ string_list = [] while True: string = input("按回车停止or请...
  • python列表中位数

    2021-05-16 22:12:34
    主程序首先通过input 以嵌套列表形式输入一个m*m的整数矩阵,如 [ [1,12,3,-2] , [14,5,26,9] , [18,9,10,-7] , [61,112,13,-12] ],然后调用自定义median函数循环求解每行数据的中位数,生成一个含有m个...
  • python用户验证怎么弄?python用户登录验证登录验证,三次机会,如何做?... 通过 in 判断一个元素是否在一个列表中,for循环输入验证hold住#!/usr/bin/python3__author__ = 'beimenchuixue'__blog__ =...
  • Python基础(五) 用户输入和while循环1. input()使用int()来获取数值输入求模运算符2.while循环使用标志使用break退出循环使用continue回到循环开头避免无限循环! (使用Ctrl+C关闭窗口)3.使用while循环来处理...
  • input() 函数让程序暂停运行,等待用户输入一些文本。不管输入的是什么内容,程序通过 input() 得到的始终是 字符串 类型,使用方法如下: message = input('Tell me something, and I will repeat it to you:') ...
  • 循环输入女\男神的名字,直到输入q程序退出,并保存输入的名字到列表中 (使用死循环) list1=[] a=True while a: name=input("请输入女/男神的名字:") if name=="q": break else: list1.append(name) ...

空空如也

空空如也

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

python列表循环输入

python 订阅