July 21-day6-Python循环和列表的练习

  1. 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例例如2+22+222+2222+22222(此时共有5个数相 加),几个数相加有键盘控制。
str1 = '2'
sum1 = int(str1)
n =int(input('相加个数:'))
for _ in range(0,n):
    if _ == 0:
        continue
    str1 += '2'
    sum1 += int(str1)
print(sum1)
结果:
相加个数:5
24690
  1. 打印图形1
str1 = '@'
n =int(input())
for _ in range(0,n):
    if _ == 0:
        print(str1)
        continue
    str1 += '@'
    print(str1)
结果:
4
@
@@
@@@
@@@@
5
@
@@
@@@
@@@@
@@@@@
  1. 打印图形2
str1 = ' '
str2 = '@'
n = int(input())
for x in range(0,n):
    str1 = str1 * n
    n -= 1
    if x == 0:
        str3 = str1 + str2
        print(str3)
        str1 = ' '
        str2 = '@'
        continue
    else:
        str2 += str2*(2*x)
    str3 = str1 + str2
    print(str3)
    str1 = ' '
    str2 = '@'
结果:
3
   @
  @@@
 @@@@@
4
    @
   @@@
  @@@@@
 @@@@@@@

  1. 打印图形3
str1 = '@'
n =int(input())
for _ in range(n):
    str1 = str1 * n
    n -= 1
    print(str1)
    str1 = '@'
结果:
3
@@@
@@
@
  1. 输入两个正整数m和n,求其最大公约数和最小公倍数。
m = 10
n =  15
#Python中的三目运算符: 为真时的结果 if 判定条件 else 为假时的结果
max1 = m if m > n else n
min1 = m if m < n else n

"""a.求最大公约数"""
# x的取值范围是min1 ~ 1
for x in range(min1, 0, -1):
    if (m % x == 0) and (n % x == 0):
        print('%d和%d的最大公约数是:%d' % (m, n, x))
        break

"""b.求最小公倍数"""
x = max1
while True:

    if (x % m == 0) and (x % n == 0) :
        print('%d和%d的最小公倍数是:%d' % (m, n, x))
        break

    x += 1
结果:
10和15的最大公约数是:5
10和15的最小公倍数是:30
  1. 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例例如6=1+2+3.编程 找出1000以内的所有完数
for x in range(1,1001):
    sum1 = 0
    for y in range(1,x):
        if x % y == 0:
            sum1 += y
    if x == sum1:
        print(x)
结果:
6
28
496
  1. 输出9*9口诀
for x in range(1,10):
    for y in range(1,x+1):
        sum1 = x*y
        str1 = '%dx%d=%d'%(y,x,sum1)
        print(str1,end=" ")
    print()
结果:
1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 
  1. 一个5位数,判断它是不不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
a = []
n =int(input())
str1 = str(n)
for x in str1:
    a.append(x)
if a[0] == a[4] and a[1] == a[3]:
    print('他是回文数')
else:
    print('他不是回文数')
结果:
12354
他不是回文数
45854
他是回文数
  1. 打印图形(菱形)
a = []
str1 = ' '
str2 = '@'
n = int(input())
for x in range(0,n):
    str1 = str1 * n
    n -= 1
    if x == 0:
        str3 = str1 + str2
        print(str3)
        a.append(str3)
        str1 = ' '
        str2 = '@'
        continue
    else:
        str2 += str2*(2*x)
    str3 = str1 + str2
    print(str3)
    a.append(str3)
    str1 = ' '
    str2 = '@'
a.pop(-1)
for i in a[::-1]:
    print(i)
结果:
4
    @
   @@@
  @@@@@
 @@@@@@@
  @@@@@
   @@@
    @
  1. 输入一行行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
number5 = ['0','1','2','3','4','5','6','7','8','9']
number6 = ['q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m']
num1 = 0
num2 = 0
num3 = 0
num4 = 0
str1 = input('请输入字符串:')
for x in str1:
    if x in number5:
        num1 += 1
    elif x == ' ':
        num2 += 1
    elif x in number6:
        num3 += 1
    else:
        num4 += 1
print('数字有%d个' % num1)
print('空格有%d个' % num2)
print('英文字母有%d个' % num3)
print('其他字符有%d个' % num4)
结果:
请输入字符串:123 ssa +5
数字有4个
空格有2个
英文字母有3个
其他字符有1个

  1. 已知一个列表,求列表中心元素。
list1 = list(input('输入的列表:'))
num1 =int(len(list1))
if num1 % 2 == 0:
    y = num1 // 2
    i = int(y-1)
    print(list1[i],list1[y])
else:
    y = (num1-1)//2
    print(list1[y])
结果:
输入的列表:1545643
5
  1. 已知一个列表,求所有元素和。
sum1 = 0
list1 = list(input())
for x in list1:
    sum1 += int(x)
print(sum1)
结果:
5456465
35
  1. 已知一个列表,输出所有奇数下标元素。
list1 = list(input())
for i in list1[1::2]:
    print(i)
结果:
56132554
6
3
5
4
  1. 已知一个列表,输出所有元素中,值为奇数的。
list1 = list(input())
for x in list1:
    y = int(x)
    if y % 2 != 0:
        print(y)
结果:
121345485
1
1
3
5
5
  1. 已知一个列表,将所有元素乘二。
list4 = list(input())
list4 = list(int(x)*2 for x in list4)
print(list4)
结果:
21345
[4, 2, 6, 8, 10]
  1. 已知一个列表,将所有元素加到第一个元素中。
sum1 = 0
list1 = list(input())
for x in list1:
    sum1 += int(x)
list1 .insert(0,sum1)
print(list1)
结果:
542145
[21, '5', '4', '2', '1', '4', '5']
  1. 已知一个列表A,将奇数位置元素存到B列表中,偶数元素存到C列表中。
B = []
C = []
list1 = list(input())
for i in list1[1::2]:
    B.append(i)
print(B)
for i in list1[::2]:
    C.append(i)
print(C)
结果:
164698654713
['6', '6', '8', '5', '7', '3']
['1', '4', '9', '6', '4', '1']
  1. 把A列表的前5个元素复制到B列表中。
A = ['s','a','b','x',5,7,9]
B = [2,3]
for x in A[:5]:
    B.append(x)
print(B)
结果:
[2, 3, 's', 'a', 'b', 'x', 5]
  1. 把1--36分别放入列表中,计算列表数组对⻆角元素之和。6 * 6的列表

  2. 有一个长度是10的列表,列表内
    有10个不重复的数字,要求按从大到小排序。

A = [9,8,7,5,1,3,2,4,6,0]
A.sort()
print(A[::-1])
结果:
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  1. 有一个长度是10的列表,要求删除某一个位置的元素
A = [9,8,7,5,1,3,2,4,6,0]
A.pop(5)
print(A)
结果:
[9, 8, 7, 5, 1, 2, 4, 6, 0]
  1. 有一长度是10的列表,按递增排列,用户输入一个数,插入适当位置。
num1 = int(input())
A = [9,8,7,5,1,3,2,4,6,0]
A.append(num1)
A.sort()
print(A[:])
结果:
[0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 有一个长度是10的列表,数组内有10个人名,要求去掉重复的
A = ['压抑','起飞','起飞','落地','张阳','飞机','飞机','坦克','阿拉斯加','启明星']
for x in A:
    if A.count(x) >= 2:
        A.remove(x)
print(A)
结果:
['压抑', '起飞', '落地', '张阳', '飞机', '坦克', '阿拉斯加', '启明星']
  1. 把A列表的第三到第六位之间的元素删除。
A = [9,8,7,5,1,3,2,4,6,0]
for i in range(3,7):
    del A[3]
print(A)
结果:
[9, 8, 7, 4, 6, 0]
  1. 已知A列表,B列表,定义一个列表C,要求C包含A,B数组中的数据(无重复值)。
A = [1,2,3]
B = [4,5,6]
C = []
C = A + B
print(C)
结果:
[1, 2, 3, 4, 5, 6]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,681评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,710评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,623评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,202评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,232评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,368评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,795评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,461评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,647评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,476评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,525评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,226评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,785评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,857评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,090评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,647评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,215评论 2 341

推荐阅读更多精彩内容