zoukankan      html  css  js  c++  java
  • python入门练习题2

    1,制作表格

      循环提示用户输入:用户名,密码,邮箱(要求用户输入的长度超过20个字符,如果超过则只有前20个字符有效)

    如果用户输入q或Q就退出程序,将用户输入的内容以表格形式显示

    user_input = None   #用户名的初始值
    pwd = None  #密码的初始值
    email = None    #邮箱地址的初始值
    public = None   #公共变量名初始值
    flag = False    #标志位
    while not flag: #当flag不为False时,就执行以下代码块
        print('温馨提醒:如果需要退出程序请按"q"或"Q"退出')
        public = input('请输入你的用户名:') #提示用户输入用户名
        if len(public) <= 20:   #但是用户输入的长度小于或者等20个字符时,就先什么都不执行
            pass
        else:
            public = public[:20]    #但是用户输入的长度大于20个字符时,就取字符串中的前20个字符
        if public.lower() != 'q':   #如果用户输入的字符串中不包含q时,就将用户输入的值赋值给user_inpput
            user_input = public
        else:
            flag = True   #如果用户输入的字符串中包含q时,flag标记位就为真,,用户输入的字符串中包含q时,用户输入q时就可以退出程序
            break
        public = input('请输入你的密码:')
        if len(public) <= 20:
            pass
        else:
            public = public[:20]
        if public.lower() != 'q':
            pwd = public
        else:
            flag = True
            break
        public = input('请输入你的邮箱地址:')
        if len(public) <= 20:
            pass
        else:
            public = public[:20]
        if public.lower() != 'q':
            email = public
        else:
            flag = True
            break
    user_output = '''
    name	password	email
    %s	%s	%s
        '''%(user_input,pwd,email)
    print(user_output.expandtabs(20))
    
    ##########结果输出################
    
    温馨提醒:如果需要退出程序请按"q"或"Q"退出
    请输入你的用户名:laiying
    请输入你的密码:123
    请输入你的邮箱地址:123@qq.com
    温馨提醒:如果需要退出程序请按"q"或"Q"退出
    请输入你的用户名:q
    
    name                password            email
    laiying             123                 123@qq.com
    

     2.实现一个整数加法计算器

      如:content = input('请输入内容:')  #5+9 或 1+3

     1 sum1 = 0    #求和的初始值
     2 user_input = input('请输入你要计算的数字:').split('+') #提示用户的输入,并将用户的输入以+号进行分割
     3 for item in user_input: #迭代每一个用户输入的元素
     4     if item.isdigit():  #如果用户输入的是一个数字
     5         user_input = int(item) #将用户输入的数字转换为int类型,并将转换后的值赋值给user_input
     6         sum1 += user_input #用户每迭代一次,就将用户输入的元素加一次,以此类推
     7     else:   #如果用户输入的不是一个整数就给用户一个提示并退出程序
     8         print('您输入的不是数字,程序退出')
     9         break
    10 else:
    11     print(sum1) #打印求和的值
    12 
    13 ###################结果输出##################
    14 
    15 #请输入你要计算的数字:6+10
    16 #16

     3.分页显示

    提示用户 请输入要查看的页码,当用户输入指定页码,则显示指定数据
    注意:
    - 每页显示 10 条数据
    - 用户输入页码是非十进制数字,则提示输入内容格式错误

     1 page = []  # 页码初始列表
     2 per_numbers = 10  # 每一页显示的数据量
     3 total_numbers = 301  # 总条数
     4 flag = False
     5 pages = divmod(total_numbers,per_numbers)  # 页数,计算能够有多少页
     6 if pages[1] != 0:  # 如果总条数不能和每一页的条数整除
     7     pages = pages[0] + 1  # 就取它们的余数加1,将剩余的条数作为一页
     8 else:
     9     pages = pages[0]  # 如果总条数能和每一页的条数整除,就直接得到页数
    for i in range(1,302):  # 进行for循环,生成数据
    14         page.append(i)  # 将 for循环生成的数据追加到页码的初始列表中

    10 print("1,2,3...共31页 温馨提示:退出程序请按q") 11 while not flag: 15 user_input = input("请输入您需要查看的页码:") 16 if user_input.isdigit(): # 判断用户输入的是否为数字 17 user_input = int(user_input) # 将用户输入的数字转换为int类型 18 if user_input <= pages: # 如果用户输入的页码数是在页码范围内, 19 # 通过用户输入的页码,计算出切片的起始位置和结束位置,就显示该页码内的内容 20 print(page[user_input*per_numbers-per_numbers:user_input*per_numbers]) 21 else: 22 print("您输入的页码错误,请从新输入!") 23 elif user_input == 'q': # 如果用户输入q就退出 24 flag = True 25 break 26 else: 27 print("您输入的内容格式错误!!!请从新输入!!!")

    4.利用 for 循环和 range 输出 9 * 9 乘法表

    1 sum_number = "{}*{}={}"
    2 a = None
    3 for i in range(1,10):
    4     for item in range(1,i+1):
    5         a = item * i
    6         print(sum_number.format(item, i, a), end='	')
    7     print()

    5.用 Python 开发程序自动计算方案:

    公鸡 5 文钱一只,母鸡 3 文钱一只,小鸡 3 只一文钱,用 100 文钱买 100 只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母
    鸡,小鸡要买多少只刚好凑足 100 文钱?

    1 for g in range(1,100//5):  # 公鸡最多能买的只数
    2     for m in range(1, 100//3):  # 母鸡最多能买的只数
    3         for x in range(1, 100):  # 小鸡最多能买的只数
    4             if g+m+x == 100 and g*5 + m*3 + x*(1/3) == 100:  # 如果公鸡+母鸡+小鸡等于100只
    5                 # 并且公鸡的钱数加母鸡的钱数加小鸡的钱数等于100文,就可以得到100文可以买多少只鸡了
    6                 print("公鸡%s,母鸡%s,小鸡%s"%(g,m,x))

    6.购物车
    功能要求:
    要求用户输入总资产,例如: 2000
    显示商品列表,让用户根据序号选择商品,加入购物车
    购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

     1 goods    =    [
     2 {"name":    "电脑",    "price":    1999},
     3 {"name":    "鼠标",    "price":    10},
     4 {"name":    "游艇",    "price":    20},
     5 {"name":    "美女",    "price":    998},
     6 ]
     7 
     8 total_assets = 2000  # 用户总资产
     9 shopping_list = []  # 初始化用户购物列表
    10 price = 0  # 用户购买总金额初始值
    11 flag = False  # 定义一个标志位
    12 for i in enumerate(goods):
    13     print(i)
    14 user_assets = int(input("请输入您的总资产:"))
    15 while not flag:
    16     user_input = input("请根据商品序号选择您要购买商品:")
    17     if user_input.isdigit():
    18         user_input = int(user_input)
    19         for i in enumerate(goods):
    20             if user_input == i[0]:  # 如果用户输入的是商品序号等于商品序号
    21                 shopping_list.append(i[1]["name"])  # 通过切片的方式将商品序号对应的商品追加到购物列表中
    22                 price += i[1]["price"]  # 计算用户购买商品的总金额
    23                 total_assets -= price  # 计算出用户的余额
    24                 if total_assets < 0:
    25                     print("您的余额不足,不能在购买商品,谢谢惠顾!")
    26                     flag = True
    27                     break
    28                 else:
    29                     print("您选购的商品为: %s" % shopping_list)
    30                     print("用户余额:", total_assets)
    31     else:
    32         print("错误的输入,请输入商品对应的序号")

    6.输出商品列表,用户输入序号,显示用户选中的商品

    商品 li = ["手机", "电脑", '鼠标垫', '游艇']
    a. 允许用户添加商品
    b. 用户输入序号显示内容

     1 li = ["手机","电脑",'鼠标垫','游艇']
     2 for item in enumerate(li):
     3     print(item)
     4 user_input = input("请输入您购买产品对应的序号:")
     5 if user_input.isdigit():
     6     user_input = int(user_input)
     7     for i in enumerate(li):
     8         if user_input == i[0]:
     9             print("您选择的商品为:",i[1])
    10     while True:
    11         print("温馨提示:添加商品请按q,进行添加如果你要退出程序请按y")
    12         user_input = input("请输入您的操作:")
    13         if user_input == 'q':
    14             user = input("请输入你需要添加的商品名称:")
    15             li.append(user)
    16         if user_input == "y":
    17             break
    18 else:
    19     print("请输入产品对应的序号(数字)")
    20 print(li)

    7.元素分类

    有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个 key 中,将小于 66的值保存至第二个
    key 的值中。
    即: {'k1': 大于 66 的所有值, 'k2': 小于 66 的所有值}

     1 li = [11,22,33,44,55,66,77,88,99,90]
     2 dic = {"k1":[],"k2":[]}
     3 for item in li:
     4     if item > 66:
     5         dic["k1"].append(item)
     6     elif item < 66:
     7         dic["k2"].append(item)
     8     else:
     9         pass
    10 print(dic)
    11 
    12 #{'k2': [11, 22, 33, 44, 55], 'k1': [77, 88, 99, 90]}
  • 相关阅读:
    maven打包
    Description Resource Path Location Type Project configuration is not up-to-d
    GoldenGate
    maven打包 把要的依赖也打进去 配置
    mysql如何优化where子句
    根据状态计算操作状态
    kafka direct模式
    Kafka Connect
    Kafka Streams
    如何看源码
  • 原文地址:https://www.cnblogs.com/YingLai/p/6097146.html
Copyright © 2011-2022 走看看