zoukankan      html  css  js  c++  java
  • python每日练习0730

    """
    1、 现有面包、热狗、番茄酱、芥末酱以及洋葱,数字显 示有多少种订购组合,
    其中面包必订,0 不订,1 订,比如 10000,表示只订购面包
    """
    count = 0
    for b in '1':
        for h in '01':
            for f in '01':
                for t in '01':
                    print(b+h+f+t)
                    count += 1
    
    print("一共有%s种组合" %count)
    
    """
    2、输入 5 个名字,排序后输出
    """
    name_list = ['Lucy','Tom','Arm','HOOT','Aood']
    result = sorted(name_list)
    print(result)
    
    """
    3、实现一个简单的单词本
    - 功能:
    - 可以添加单词和词义,当所添加的单词已存在,让用户知道;
    - 可以查找单词,当查找的单词不存在时,让用户知道;
    - 可以删除单词,当删除的单词不存在时,让用户知道;
    - 以上功能可以无限制操作,直到用户输入 bye 退出程序。
    """
    
    info = '''
    add:add the word and word mean
    find:find the word
    del:delete the word
    bye:quit the program
    '''
    print(info)
    word_dict = {}
    while 1:
        commant = input("请输入指令:")
        if commant == 'bye':
            break
        if commant == 'add':
            word = input("请输入需要添加的单词:")
            word_mean = input("请输入单词的意思:")
            if word not in word_dict:
                word_dict[word] = word_mean
            else:
                print("the word is already exists")
        elif commant == 'find':
            word = input("请输入您需要查找的单词:")
            if word in word_dict:
                print(word_dict[word])
            else:
                print("the word is not exists")
        elif commant == 'del':
            word = input("请输入需要删除的单词:")
            if word not in word_dict:
                print("the word is not exists")
            else:
                del word_dist[word]
    
    
    """
    4、输入一个正整数,输出其阶乘结果
    """
    n = int(input("请输入一个正整数:"))
    res = 1
    for i in range(1,n+1):
        res *= i
    
    print(res)
    
    #5、输入 3 个数字,以逗号隔开,输出其中最大的数
    nums = input("请输入3个数字,以,隔开")
    nums_list = nums.split(',')
    nums_int_list = list(map(int,nums_list))
    print(nums_int_list)
    max_num = nums_iny_list[0]
    for i in nums_int_list:
        if i > max_num:
            max_num = i
    
    print(max_num)
    
    
    # 6、求两个正整数 m 和 n 的最大公约数
    result = []
    m = 100
    n = 550
    for i in range(2,m+1):
        if m % i == 0 and n % i == 0:
            result.append(i)
    
    for j in range(2,n+1):
        if m % j == 0 and n % i == 0:
            result.append(j)
    
    
    print(result)
    print(max(result))
    
    
    #第二章:控制流
    #习题 1:设定一个用户名和密码,用户输入正确的用户名和 密码,则显示登录成功,
    # 否则提示登录失败,用户最多失败3 次,否则退出程序。
    #提示:使用 while 或者 for 来限定重试的次数,
    username = 'feng'
    pwd = '123456'
    
    for i in range(3):
        input_username = input('please input username:') #input需要放在循环题里面
        input_pwd = input('please input password:')
        if input_username == username and input_pwd == pwd:
            print('secessfull login!')
        else:
            print('username or pws is error')
    
        if i == 2:
            print('times is off')
            
    
    
    #习题 2:自己实现一个函数,在一句话中查找某个单词的算发,存在返回索引号,否则返回 False
    s = 'I am a good good girl ~~ I can fly~~'
    def findWord(s,word):
        res = []
        if not isinstance(s,str) or not isinstance(word,str):
            return None
        length = len(word)
        if word not in s:
            return False
        for i in range(len(s)):
            if s[i:i+length] == word:
                res.append(i)
        return res
    
    
    print(findWord(s,'good'))
    print(findWord(s,'I'))
    print(findWord(s,'AAA'))
    print(findWord(s,5))
    
    
    #习题 3:随机生成一个整数,1-100 之间你最多猜 5 次,
    # 如果猜大了,提示大了小了,提示小了,猜对了,提示猜中。
    # 5 次都没猜中,就猜没猜中。
    import random
    random_num = random.randint(1,100)
    
    for i in range(5):
        input_num = int(input('please input number:'))
        if input_num == random_num:
            print("恭喜~~猜对啦~~")
        elif input_num > random_num:
            print("猜大了~~")
        elif input_num < random_num:
            print("猜小了")
        if i == 4:
            print('times is out')
            
            
    #习题 4:使用 while,计算随机数之和,超过 100 的时候,停止程序。
    # 随机数 1-20 的范围产生,要求记录一下产生的随机数,以及最后的和,以及随机数的个数。
    import random
    random_num_list = []
    sum_num = 0
    while sum_num < 100:
        #sum_num = 0
        random_num = random.randint(1,20)
        random_num_list.append(random_num)
        for i in random_num_list:
            sum_num += i
    
    print("产生的随机数是:",random_num_list)
    print("产生的随机数之和是:%s" %sum_num)
    print("产生的随机数的个数是:%s" %len(random_num_list))
    
    #习题 5:遍历一个列表中的嵌套列表和元组的所有元素
    # 将 1-12 的数字进行输出![[[1,2,3],4,5],7,8,(9,10,(11,12))]
    s = [[[1,2,3],4,5],7,8,(9,10,(11,12))]
    for i in s:
        if isinstance(i,(list,tuple)):
            for j in i:
                if isinstance(j,(list,tuple)):
                    for v in j:
                        print(v)
                else:
                    print(j)
        else:
            print(i)
    
    #习题 6:判断一个数是否是素数
    def isprime(n):
        for i in range(2,n):
            if n % i == 0:
                return False
        else:
            return True
    
    print(isprime(5))
    print(isprime(50))
    
    
    #习题 7:求 100 以内的素数和
    result =[]
    for i in range(1,101):
        if isprime(i):
            result.append(i)
    
    print(result)
    
    #习题 8:用户输入多个数字,
    # 当输入偶数的时候求和,输 入奇数,不求和,输入.(一个点)的时候结束求和,打印求 和结果
    sum_num = 0
    while 1:
        num = input("请输入一个正整数:")
        if num =='.':
            break
        if int(num) % 2 == 0:
            sum_num += int(num)
        if int(num) % 2 != 0:
            pass
    
    print("输入的数字之和是:%s" %sum_num)
    
    #习题 9:嵌套循环输出 10-50 中个位带有 1-5 的所有数字:
    #方法 1:数字和 10 取余,判断是否大于 0 并且小于等于 5
    #方法 2:将数字转换为 str,取各位的字符判断字符是否在 1-5 内。
    #方法 3:拼接数字
    for i in range(10,51):
        if 0 < i % 10 <= 5:
            print(i, end =' ')
    
    
    for i in range(10,51):
        if str(i)[-1] in '12345':
            print(i,end =' ')
    
    
    for i in range(1,5):
        for j in range(1,6):
            print(str(i) + str(j))
    
    
    
    #习题 10、 用户输入不同的数据,当输入的数据达到 3 个数 字的时候,求和结束程序。
    # (数字可以是整数)
    result = 0
    for i in range(3):
        num = int(input("请输入数字:"))
        result += num
    
    print(result)

    #需要考虑输入的是不是数字
    result = 0
    for i in range(3):
    s = input("请输入:")
    if s not in '0123456789':
    pass
    else:
    result += int(s)

    print(result)

  • 相关阅读:
    HDU-6534-Chika and Friendly Pairs (莫队算法,树状数组,离散化)
    SPOJ-DQUERY-D-query
    视频上云/网络穿透/拉转推工具EasyNTS设备IP地址返回数据与实际IP匹配的筛选机制优化
    视频上云/网络穿透/拉转推工具EasyNTS新增获取windows所有盘符信息功能的实现
    【解决方案】热门景区实现智慧旅游,城市道路/风景区视频公众号分享该如何实现?
    TSINGSEE青犀视频开发webrtc使用ffmpeg编译报ffmpeg version: N-94448-G3CEA9CD219提示是什么原因
    TSINGSEE青犀视频开发webrtc浏览器使用video标签播放webrtc本地录音音频实现过程
    【解决方案】智慧农业自动化的浪潮下,大棚实时视频监控系统应该如何搭建?
    【解决方案】房地产行业施工现场搭建视频4G无线远程视频监管信息化行业应用方案建议书
    【解决方案】国标GB28181协议视频智能分析平台EasyCVR搭建智慧养殖平台,让畜牧业实现“万物互联”
  • 原文地址:https://www.cnblogs.com/ff-gaofeng/p/11269964.html
Copyright © 2011-2022 走看看