Day6-Python-作业-2018/12/29

列表基础

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

list1 = ['a','b','c','d','e','f']
if len(list1) % 2:  # 判断列表长度是否为奇数,为奇数则执行下列功能
    print(list1[int(len(list1) / 2)])
else:   # 当列表长度为偶数时,执行下列功能
    print(list1[int(len(list1) / 2)], list1[int(len(list1) / 2 - 1)])
    print(list1[int(len(list1) / 2)])
    print(list1[int(len(list1) / 2 - 1)])
print('===================================')

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

list2 = [True,False]
# print(sum(list2))  # sum 只能对元素全是数字的列表进行求和,因为 sum函数 sum初值为0
# 如果列表元素不是数字,求和就要用for 遍历
sum2 = False # 根据列表中元素数据类型的不同,要赋予不同的 sum2值 ,且求和时,True和False一般作为1和0进行运算
for item in list2:
    sum2 += item
print(sum2,type(sum2))

a = 'a'
b = 'b'
b += a
print(b)

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

list3 = [1,2,3,4,5,6,7,8,9]
for index in range(len(list3)):
   if index % 2:
       print(list3[index])

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

list4 = [112,111,97,88,33]
for num in list4:
    if num % 2:
        print(num)

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

list5 = [1,2,3,'a','b','c']
# list5_new = []
# for item in list5:
#     list5_new.append(item * 2)
# print(list5,list5_new)

for index in range(len(list5)):
    list5[index] *= 2
print(list5)

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

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

list6 = ['a','b','a','a','b','c','c']

要删除重复的元素,首先要确定重复的元素是哪些。

list6_new = []
for item in list6:
    if item not in list6_new:
        list6_new.append(item)
print(list6_new)
# 推测:一般要对列表中的元素进行删除操作时,尤其是删除重复元素时,是无法对原列表进行操作的,需要声明一个新列表。
# 判断元素是否重复要用in 和 not in
list6_new = list(set(list6))
print(list6_new)  # 内置函数set 处理后是生成的列表是无序的。

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

# print(chr(6535))
list7 = [97,98,6534,6535]
for num in list7:
    print(chr(num))

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

list8 = [9,8,6,9,7,5]
list8.sort()
del list8[0];del list8[len(list8)-1]
print(list8)
print(sum(list8))
print(sum(list8) / len(list8))  # sort() 函数对列表进行处理后,原列表发生变化,包括长度
# print(sum(list8) / len(list8)-3)
# print(sum(list8) / (len(list8)-3))

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

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

list9_1 = [1,'a',4,90]
list9_2 = ['a',8,'j',1]
list9_3 = []
for item in list9_1:
    if item in list9_2:
        list9_3.append(item)
print(list9_3)

周末

1.控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)

age = int(input('请输入年龄:'))
if age < 12:
    print('儿童')
elif age < 18:
    print('未成年')
elif age < 30:
    print('成年人')
elif age < 60:
    print('青壮年')
else:
    print('老年人')

2.计算5 的阶乘5! 的结果 还可以用循环和 num *= x x -= 1 求值

# num = int(input('请输入数字:'))
# list2 = list(range(num))
# list2.sort(reverse=True)
# del list2[len(list2)-1]
# print(list2)
# for x in list2:
#     num *= x
# print(num)

3.求 1! + 2! + 3! +···+20! 的和

num = 20
sum = 0
list3 = list(range(num))
print(list3)
for index in range(len(list3)):
    list3[index] += 1
print(list3)
print('====================================')
for x in list3:
    if x > 0:
        list3_1 = list(range(x))
        list3_1.sort(reverse=True)
        del list3_1[len(list3_1)-1]
        for y in list3_1:
            x *= y
        sum += x
print(sum)
print('===========================================')

4.计算1 + 1/2! + 1/3! + 1/4!+···+1/20! 的结果

num = 20
sum = 0
list4 = list(range(num))
for index in range(len(list4)):
    list4[index] += 1
for x in list4:
    if x > 0:
        list4_1 = list(range(x))
        list4_1.sort(reverse=True)
        del list4_1[len(list4_1)-1]
        for y in list4_1:
            x *= y
        sum += 1 / x
print(sum)
print('=========================')

5.循环输入大于0 的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

# num = int(input('请输入数字:'))
# sum = 0
# while num != 0:
#     sum += num
#     num = int(input('请输入数字:'))
# print(sum)

6.求s = a + aa + aaa + aaaa + aaaa + aa···a 的值,其中a 是一个数字。

# 例如 2 + 22 + 222 + 2222 + 22222(此时共有5个数相加),几个数相加有键盘控制。
# 程序分析:关键是计算出每一项的值。
# times = int(input('请输入次数:'))
# x = 1
# num = 2
# sum = 0
# while x <= times:
#     intstr_num = int(str(num) * x)
#     x += 1
#     print(intstr_num,type(intstr_num))
#     sum += intstr_num
# print(sum)

# str1 = '1'
# print(str1*2,type(str1*2))
# print(int(str1*2),type(int(str1*2)))

7.输入三个整数x,y,z,请把这三个数由小到大输出

# x = 0
# numbers = []
# while x < 3:
#     num = int(input('请输入整数:'))
#     x += 1
#     numbers.append(x)
# numbers.sort()
# print(numbers)

8.控制台输出三角形

# a.
# times = int(input('请输入次数:'))
# list8 = list(range(times))
# for index in range(len(list8)):
#     list8[index] += 1
# list8.sort(reverse=True)
# for num in list8:
#     print('*'*num)

# b.
print('==========================')
times = 9
blanks = []
numbers = []
for blank in range(times // 2 + 1):
    blanks.append(blank)
    blanks.sort(reverse=True)  # blanks = [[3, 2, 1, 0]]
for number in range(times + 1):
    if number % 2:
        numbers.append(number) # numbers = [[1, 3, 5, 7]]
for x in range(times // 2 + 1):
    print(' ' * blanks[x] + '*' * numbers[x])

9.输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

n = 9
numbers = []
for num in range(n):
    numbers.append(num+1)
for number in numbers:
    m = 1
    while number >= m:
        print(str(number)+'*'+str(m)+'='+str(number*m),end = ' ')
        m += 1
    print('')

10. 这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

for x in range(1,100):
    for y in range(1,100):
        for z in range(1,100):
            if x + y + z == 100 and 6*x + 4*y + z == 200:
                print(x,y,z)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • 【引言】凝视着这张黑白色照片,父亲的音容笑貌仿佛就活在眼前,而父亲那高亢醇厚的秦风秦韵似乎又在耳畔回响…… ...
    南屯游子阅读 921评论 4 5
  • (一) 看似表面平静的一个人 实则内心风吹浪涌,雷电交加 清净与欲望 永远交织在一起 争个不休,吵个不停 (二) ...
    一腔孤勇从何来阅读 210评论 0 0
  • 闲暇清宁煮, 茶香愈鲜浓。 淡然看四季, 生命亦从容。
    落寞在凉州的烟雨里阅读 174评论 0 4