2019-07-28

Page 1:

1.已知一个数字列表,求列表中心元素。

 if common_list_len%2:
     print("中心元素是:%s"%common_list[common_list_len//2])
 else:
     print("中心元素是:%s:%s"%(common_list[common_list_len//2],common_list[common_list_len//2-1]))

2.已知一个数字列表,求所有元素和。   

 common_list=[23,56,787,56,34,34,23,1232]
 list_sum=0
 for num in common_list:
     list_sum+=num
 print("元素和:%s"%list_sum)

3.已知一个数字列表,输出所有奇数下标元素。

common_list=[23,56,787,56,34,34,23,1232]
 new_list=[]
 for common_list_index in range(len(common_list)):
     if common_list_index %2:
         new_list.append(common_list[common_list_index])
 print(new_list)

4.已知一个数字列表,输出所有元素中,值为奇数的元素。

    common_list=[23,56,787,56,34,34,23,1232]
    new_list=[]
    for num in common_list:
        if num%2:
            new_list.append(num)
    print(new_list)

5.已知一个数字列表,将所有元素乘二。

例如:nums = [1, 2, 3, 4]  —>  nums = [2, 4, 6, 8]

    common_list=[23,56,787,56,34,34,23,1232]
    def list_mutiply(x):
       return x*2
    print(list(map(list_mutiply,common_list)))

6.有一个长度是10的列表,数组内有10个人名,要求去掉重复的

例如:names = ['张三', '李四', '大黄', '张三'] -> names = ['张三', '李四', '大黄']

    names = ['张三', '李四', '大黄', '张三']
    new_names=set(names)
    print(list(new_names))

    names = ['张三', '李四', '大黄', '张三']
    for names_index in range(len(names)-1):
        for compare_index in range(names_index+1,len(names)):
            if names[names_index]==names[compare_index]:
                continue
                #注意在这里使用pass和break的区别:
                #pass/continue:跳过当前代码段,可以去除多余同类项
                #break:直接跳出循环,只取出现一次的数
        else:
            new_names.append(names[names_index])
    print(new_names)

7.已经一个数字列表(数字大小在0~6535之间), 将列表转换成数字对应的字符列表

    list1=[]
    for num in range(0,6536):
        list1.append(num)
    def cha_trans(x):
        return chr(x)
    print(list((map(cha_trans,list1))))

8.用一个列表来保存一个节目的所有分数,求平均分数(去掉一个最高分,去掉一个最低分,求最后得分)

    list_scores=[12,54,76,87,56,90,9,99,45,342]
    list_scores=sorted(list_scores,reverse=True)
    list_scores=list(list_scores[1:-1])
    list_sum=sum(list_scores)
    list_len=len(list_scores)
    ave=float(list_sum/list_len)
    print(ave)

9.有两个列表A和B,使用列表C来获取两个列表中公共的元素

例如: A = [1, 'a', 4, 90] B = ['a', 8, 'j', 1] --> C = [1, 'a']

    A = [1, 'a', 4, 90]
    B = ['a', 8, 'j', 1]
    C=[]
    for i in A:
        for j in B:
            if i ==j :
                C.append(i)
    print(C)

10.有一个数字列表,获取这个列表中的最大值.(注意: 不能使用max函数)

例如: nums = [19, 89, 90, 600, 1] —> 600

    nums = [19, 89, 90, 600, 1]
    nums=sorted(nums,reverse=True)
    print(nums[0])

    nums = [19, 89, 90, 600, 1]
    for index in range(len(nums)-1):
        for compare in range(index+1,len(nums)):
            if nums[index]>=nums[compare]:
                pass
            else:nums[index],nums[compare]=nums[compare],nums[index]
    print(nums)

11.获取列表中出现次数最多的元素

例如:nums = [1, 2, 3,1,4,2,1,3,7,3,3] —> 打印:3

    nums = [1, 2, 3,1,4,2,1,3,7,3,3]
    nums_set=set(nums)
    nums_list=list(nums_set)
    times=[]
    for count_num in nums_list:
        counter=0
        for num in nums:
            if count_num==num:
                counter+=1
        times.append(counter)
    max_times=max(times)
    for index in range(len(times)):
        if max_times==times[index]:
            print("出现次数最多的是数字是:%d,出现次数是:%d"%(nums_list[index],max_times))

Page 2.

1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?

    counter=0
    while True:
        counter+=1
        hight=0.08*(10**-3)*2**counter
        if hight>=8848.13:
            break
    print("对折次数%d"%counter)
  1. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
   n=int(input("请输入n值(>=3):"))
      curr_2=1
      curr_1=1
      print(curr_2,curr_1,end=" ")
      for i in range(0,n-2):
          curr=curr_1+curr_2
          curr_2=curr_1
          curr_1=curr
          print(curr,end=" ")
  1. 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5。
  input_num=int(input("请您输入一个数:"))
      Quality_list=[]
      for Quality in range(int(input_num),1,-1):
          for j in range(Quality-1,1,-1):
              if not Quality%j:
                  break
          else:
              Quality_list.append(Quality)
      factor_list = []
      # 输出一个因子的列表
      for divisor in Quality_list:
          dividend=input_num
          while dividend%divisor==0:
              factor_list.append(divisor)
              dividend //= divisor
      # 输出所有的公因子
      list1=[str(i) for i in factor_list] #将公因子列表转化为字符串
      str1="x".join(list1) #使用字符串方法将x拆入字符串中
      print(str1+"=%d"%input_num)
  1. 输入两个正整数m和n,求其最大公约数和最小公倍数。 程序分析:利用辗除法。
       b_num=int(input("请输入一个数字:"))
       nums=[a_num,b_num]
       while True:
           nums.sort(reverse=True)
           nums[0],nums[1]=nums[1],nums[0]-nums[1]
           if min(nums)==0:
               print("最大公约数是:%d;最大小公倍数:%d"%(max(nums),a_num*b_num/max(nums)))
               break
  1. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3. 编程 找出1000以内的所有完数
     for i in range(2,1001):
         jadge_num=[]
         for j in range(2,i):
             if i%j==0:
                 shang=i//j
                 jadge_num.append(shang)
                 jadge_num.append(j)
         if i ==sum(list(set(jadge_num)))+1:
             perferct_num.append(i)
     print("完数的列表为:",perferct_num)

6.输入某年某月某日,判断这一天是这一年的第几天? 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

    year=int(input())
    month=int(input())
    day=int(input())
    print("%d年%d月%d日"%(year,month,day))
    month_days=[31,28,31,30,31,30,31,31,30,31,30,31]
    
    if year%4!=0:
        day_sum = day
        for month_num in range(1,month):
            day_sum+=month_days[month_num]
    else:
        if month>2:
            day_sum = day+1
            for month_num in range(1,month):
                day_sum += month_days[month_num]
        else:
            day_sum = day
            for month_num in range(1, month):
                day_sum += month_days[month_num]
    print(day_sum)
  1. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
      new_N=[]
      for i in N:
          i+=5
          i=i%10
          new_N.append(i)
      new_N[0],new_N[3]=new_N[3],new_N[0]
      new_N[1],new_N[2]=new_N[2],new_N[1]
      print(new_N)```
2. 获取第n个丑数。 什么是丑数: 因子只包含2,3,5的数
  6 =1* 2*3  -> 丑数
  2 = 1*2  -> 丑数
  7 = 1*7 -> 不是丑数
  1, 2, 3, 4, 5, 6, 8,9,10, 12 ….
      #这个程序只能找到前n位数字中所有的丑数;
```      n=int(input("请您输入一个数字"))
      chou_num=[]
      for input_num in range(1,n):
          Quality_list=[]
          for Quality in range(input_num,1,-1):
              for i in range(Quality-1,1,-1):
                  if not Quality%i:
                      break
              else:
                  Quality_list.append(Quality)
          div=0
          div_list=[]
          for Qual in Quality_list:
              if not input_num%Qual:
                  div_list.append(Qual)
                  div/=Qual
                  if div in Quality_list:
                      div_list.append(div)
          for i in div_list:
              if i not in [2,5,3]:
                  break
          else:
              chou_num.append(input_num)
      print(chou_num)
      #求第N位丑数
      def chou_num(x):
          while x%2==0:
              x//=2
          while x%3==0:
              x//=3
          while x%5==0:
              x//=5
          return x==1
      times=1
      q_nums=[]
      n=int(input("请您输入第几位丑数"))
      while True:
          if chou_num(times):
              q_nums.append(times)
              if n==len(q_nums):
                  print("第%d个丑数是:%d"%(n,q_nums[n-1]),q_nums)
                  break
          times+=1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,284评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,115评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,614评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,671评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,699评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,562评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,309评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,223评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,668评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,859评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,981评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,705评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,310评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,904评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,023评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,146评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,933评论 2 355

推荐阅读更多精彩内容