关于python的十一道练习

1.编写程序,输入一个自然数字符串,然后输出各位数字之和。例如,输入字符串1234,输出10.

  1. def sums1(): #第一题
  2. strs=input('请输入一个自然数字符串:')
  3. num=0
  4. for i in range(0,len(strs)):
  5. num=num+int(strs[i:i+1])
  6. print('该字符串各位数字之和为:',num)

2.编写程序,输入一个字符串,输出翻转(首尾交替)后的字符串。例如,输入字符串12345,输出54321.

  1. def turn2(): #第二题
  2. strs=input('请输入一个字符串:')
  3. strn=list(strs)
  4. m=strn.copy()
  5. n=len(strs)-1
  6. for i in strn:
  7. m[n]=i
  8. n=n-1
  9. strs=''.join(m)
  10. print('该字符串的翻转为:',strs)
  • 该题要注意的是 ''.join() 为列表转字符串。

3.编写程序,输入一个包含若干整数的列表,输出列表中的最大值。例如,输入[1,2,3,4,5,888],输出888.

  1. def max3(): #第三题
  2. li = list(map(int,input('请输入一串整数,用空格隔开:').split()))
  3. maxn=li[0]
  4. for i in li :
  5. if maxn<i:maxn=i
  6. print('最大值为:',maxn)
  • 该题要注意的是因为输入的是字符串,要将其转化为列表,.split()是将输入的字符串用空格分隔开转为列表,map()函数将字符串列表中的每个字符串数字转化为int整型数值  。

4.编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。例如,输入[1,2,3,4,5,888],输出['1','2','3','4','5','888']。

  1. def lizstr4(): #第四题
  2. li = list(map(int,input('请输入一串整数,用空格隔开:').split()))
  3. print('转换为列表为:',[str(i) for i in li])
  • 该题要注意的是  str(i) for i in li 为将列表 li 中的所有元素都转换成字符串。

5.编写程序,输入一个包含若干任意数据的列表,输出该列表中等价于True的元素组成的列表。例如,输入[1,2,0,None,False,'a'],输出[1,2,'a']。

  1. def true5(): #第五题
  2. li = list(input('请输入一串字符串,用空格隔开:').split())
  3. a=[]
  4. for i in li :
  5. if i!=0 and i!='None' and i!='none' and i!='False' and i!='false':
  6. a.append(i)
  7. print('等价于True的元素为:',a)

6.编写程序,输入一个包含若干自然数的列表,输出这些自然数的平均值。

  1. def average6(): #第六题
  2. li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
  3. sumn=0
  4. for i in li:
  5. sumn+=i
  6. avg=sumn/len(li)
  7. print('平均数为:%.3f'%avg)

7.编写程序,输入一个包含若干自然数的列表,输出这些自然数降序排列的新列表。

  1. def des7(): #第七题
  2. li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
  3. for i in range(0,len(li)):
  4. for j in range(i,len(li)):
  5. if li[i] < li[j]:
  6. temp=li[i]
  7. li[i]=li[j]
  8. li[j]=temp
  9. print('降序排列为:',li)

8.编写程序,输入一个包含若干自然数的列表,输出一个新列表,新列表中每个元素为原列表中每个自然数的位数。例如,输入[1,888,99,23456],输出为[1,3,2,5]。

  1. def digit8(): #第八题
  2. li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
  3. m=[]
  4. n=0
  5. for i in li :
  6. m.append(len(str(i)))
  7. n+=1
  8. print('新列表为:',m)

9.编写程序,输入一个包含若干实数的列表,输出其中绝对值最大的实数。例如,输入[-8,64,3.5,-89],输出-89。

  1. def maxabs9(): #第九题
  2. li = list(map(eval,input('请输入一串实数,用空格隔开:').split()))
  3. maxn=li[0]
  4. for i in li:
  5. if abs(maxn)<abs(i):
  6. maxn=i
  7. print('绝对值最大为:',maxn)
  • 该题要注意的是 abs() 为系统求数的绝对值函数。

10.编写程序,输入一个包含若干整数的列表,输出这些整数的乘积。例如,输入[-2,3,4],输出-24。

  1. def product10(): #第十题
  2. li = list(map(eval,input('请输入一串整数,用空格隔开:').split()))
  3. product=1
  4. for i in li:
  5. product=product*i
  6. print('乘积为:',product)

11.编写程序,输入两个包含着若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积。

  1. def inner11(): #第十一题
  2. li1 = list(map(eval,input('请输入第一串实数,用空格隔开:').split()))
  3. li2 = list(map(eval,input('请输入第二串实数,用空格隔开:').split()))
  4. m=[]
  5. for i in range(0,len(li1)):
  6. m.append(li1[i]*li2[i])
  7. print('内积为:',m)

关于python的十一道练习的更多相关文章

  1. 初学 Python(十五)——装饰器

    初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...

  2. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  3. 初学 Python(十二)——高阶函数

    初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...

  4. 初学Python(十)——列表生成式

    初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有 ...

  5. Python第二十四天 binascii模块

    Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...

  6. Python第二十六天 python装饰器

    Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...

  7. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  8. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

  9. Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse

    Python第十天   print >> f,和fd.write()的区别    stdout的buffer  标准输入 标准输出  从控制台重定向到文件  标准错误   重定向 输出流和 ...

随机推荐

  1. Windows10安装ubuntu18.04双系统教程

    写在前面:本教程为windows10安装ubuntu18.04(64位)双系统教程,是我多次安装双系统的经验总结,安装方法同样适用于ubuntu16.04(64位).为了直观和易于理解,我会尽量图文并 ...

  2. 【RTOS】为H7配套的uCOS-III模板也是可以用于MDK AC6的,提供个模板

    AC6模板 链接:https://pan.baidu.com/s/1_4z_Lg51jMT87RrRM6Qs3g   提取码:2gns 原始的这个模板直接修改为AC6: 编译有几十处警告,修改下面三个 ...

  3. 荧屏弹幕_新增h5requestAnimationFrame实现

    所有的页面逻辑也是比较简单,用原生js实现,封装也是比较简单!要让页面效果更为炫酷,则可去引入相应的css,背景图片自己去img/下下载引入喔! HTML页面 <!doctype html> ...

  4. File Zilla server安装完报错could not load TLS libraries. aborting start of administration interface

    问题描述: 系统:Windows2008R2x64 安装完filezillaserver以后出现这个问题 解决方法: 需要安装个系统补丁:Windows6.1-KB2533623-x64 安装完重启服 ...

  5. [IDA] 自动下载符号

    当现实无法自动下载符号时,看下面交互窗口,提示安装 VC++ 2008. 安装成功之后就会自动下载符号.

  6. 练手爬虫用urllib模块获取

    练手爬虫用urllib模块获取 有个人看一段python2的代码有很多错误 import re import urllib def getHtml(url): page = urllib.urlope ...

  7. 如何使用 TRANSPORTABLE = ALWAYS 将PDB移回Non-CDB (Doc ID 2027352.1)

    How to Move a PDB Back to a Non-CDB Using TRANSPORTABLE=ALWAYS (Doc ID 2027352.1) APPLIES TO: Oracle ...

  8. start_udev 是不是会写磁盘头

    遇到一个案例,在这里记录一下 一套Oracle 11.2.0.4 RAC环境,操作系统是RHEL 6.5,共享磁盘是通过UDEV实现RAW绑定设备名,如下 [root@rac1 opt]# ll /d ...

  9. netperf 网络测试工具

    软件介绍: netperf是惠普公司开源的一款针对网络性能的测试工具,主要基于TCP或UDP的传输.根据应用的不同,可以进行批量数据传输(bulk data transfer)模式和请求/应答(req ...

  10. go语言设计模式之Flyweight(享元模式)

    flyweight.go package flyweight import ( "time" ) const ( TEAM_A = "A" TEAB_B = & ...