关于python的十一道练习
关于python的十一道练习
1.编写程序,输入一个自然数字符串,然后输出各位数字之和。例如,输入字符串1234,输出10.
def sums1(): #第一题
strs=input('请输入一个自然数字符串:')
num=0
for i in range(0,len(strs)):
num=num+int(strs[i:i+1])
print('该字符串各位数字之和为:',num)
2.编写程序,输入一个字符串,输出翻转(首尾交替)后的字符串。例如,输入字符串12345,输出54321.
def turn2(): #第二题
strs=input('请输入一个字符串:')
strn=list(strs)
m=strn.copy()
n=len(strs)-1
for i in strn:
m[n]=i
n=n-1
strs=''.join(m)
print('该字符串的翻转为:',strs)
- 该题要注意的是 ''.join() 为列表转字符串。
3.编写程序,输入一个包含若干整数的列表,输出列表中的最大值。例如,输入[1,2,3,4,5,888],输出888.
def max3(): #第三题
li = list(map(int,input('请输入一串整数,用空格隔开:').split()))
maxn=li[0]
for i in li :
if maxn<i:maxn=i
print('最大值为:',maxn)
- 该题要注意的是因为输入的是字符串,要将其转化为列表,.split()是将输入的字符串用空格分隔开转为列表,map()函数将字符串列表中的每个字符串数字转化为int整型数值 。
4.编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。例如,输入[1,2,3,4,5,888],输出['1','2','3','4','5','888']。
def lizstr4(): #第四题
li = list(map(int,input('请输入一串整数,用空格隔开:').split()))
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']。
def true5(): #第五题
li = list(input('请输入一串字符串,用空格隔开:').split())
a=[]
for i in li :
if i!=0 and i!='None' and i!='none' and i!='False' and i!='false':
a.append(i)
print('等价于True的元素为:',a)
6.编写程序,输入一个包含若干自然数的列表,输出这些自然数的平均值。
def average6(): #第六题
li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
sumn=0
for i in li:
sumn+=i
avg=sumn/len(li)
print('平均数为:%.3f'%avg)
7.编写程序,输入一个包含若干自然数的列表,输出这些自然数降序排列的新列表。
def des7(): #第七题
li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
for i in range(0,len(li)):
for j in range(i,len(li)):
if li[i] < li[j]:
temp=li[i]
li[i]=li[j]
li[j]=temp
print('降序排列为:',li)
8.编写程序,输入一个包含若干自然数的列表,输出一个新列表,新列表中每个元素为原列表中每个自然数的位数。例如,输入[1,888,99,23456],输出为[1,3,2,5]。
def digit8(): #第八题
li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
m=[]
n=0
for i in li :
m.append(len(str(i)))
n+=1
print('新列表为:',m)
9.编写程序,输入一个包含若干实数的列表,输出其中绝对值最大的实数。例如,输入[-8,64,3.5,-89],输出-89。
def maxabs9(): #第九题
li = list(map(eval,input('请输入一串实数,用空格隔开:').split()))
maxn=li[0]
for i in li:
if abs(maxn)<abs(i):
maxn=i
print('绝对值最大为:',maxn)
- 该题要注意的是 abs() 为系统求数的绝对值函数。
10.编写程序,输入一个包含若干整数的列表,输出这些整数的乘积。例如,输入[-2,3,4],输出-24。
def product10(): #第十题
li = list(map(eval,input('请输入一串整数,用空格隔开:').split()))
product=1
for i in li:
product=product*i
print('乘积为:',product)
11.编写程序,输入两个包含着若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积。
def inner11(): #第十一题
li1 = list(map(eval,input('请输入第一串实数,用空格隔开:').split()))
li2 = list(map(eval,input('请输入第二串实数,用空格隔开:').split()))
m=[]
for i in range(0,len(li1)):
m.append(li1[i]*li2[i])
print('内积为:',m)
关于python的十一道练习的更多相关文章
- 初学 Python(十五)——装饰器
初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...
- 初学 Python(十四)——生成器
初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...
- 初学 Python(十二)——高阶函数
初学 Python(十二)--高阶函数 初学 Python,主要整理一些学习到的知识点,这次是高阶函数. #-*- coding:utf-8 -*- ''''' 话说高阶函数: 能用函数作为参数的函数 ...
- 初学Python(十)——列表生成式
初学Python(十)--列表生成式 初学Python,主要整理一些学习到的知识点,这次是列表生成式. # -*- coding:utf-8 -*- ''''' 列表生成式 ''' #一行代码表达所有 ...
- Python第二十四天 binascii模块
Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...
- Python第二十六天 python装饰器
Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...
- Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fab ...
- Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式
Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Py ...
- Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse
Python第十天 print >> f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和 ...
随机推荐
- 多个div的多文本部分展开显示+关键字自动标注
效果: 源码: <%@ page language="java" contentType="text/html; charset=utf-8" pageE ...
- [译]Vulkan教程(26)描述符池和set
[译]Vulkan教程(26)描述符池和set Descriptor pool and sets 描述符池和set Introduction 入门 The descriptor layout from ...
- MySQL常用SQL语句总结
1.with rollup 可以实现在分组统计数据基础上再进行相同的统计 SELECT name, SUM(score) as score_count FROM score GROUP BY nam ...
- DEBUG的基本命令的使用[MASM]
DEBUG的基本命令的使用 DEBUG是专门为汇编语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段. DEBUG的命令都是一个字母,后跟一个或多个参数:字母 ...
- Selenium(一):原理与安装、简单的使用
1. selenium原理 1.1 selenium介绍 Selenium是一个Web应用的自动化框架. 通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面. 比如点击界面按钮,在文本框 ...
- 原生js对cookie的增删改查
一.增 document.cookie = cname + "=" + cvalue + ";expires=" + expires + ";path ...
- llinux/重启/用户切换/注销
一.指令 shutdown命令 shutdown -h now //立即关机 shutdown -h 2 //分钟后关机 shutdown -r now //立即重启 shutdown -r 1 // ...
- mapreduce shortest way out
相关知识 最优路径算法是无向图中满足通路上所有顶点(除起点.终点外)各异,所有边也各异的通路.应用在公路运输中,可以提供起点和终点之间的最短路径,节省运输成本.可以大大提高交通运输效率. 本实验采用D ...
- Ajax:实现后台验证js实现get方式的异步请求,判断用户名是否重复
<%@ page contentType="text/html;charset=UTF-8" language="java" %><html& ...
- 【Android】Android多渠道打包--Gradle打包
Android多渠道打包--Gradle打包 前言 由于App一般都会在多个应用市场上架,为了分析App在每个不同渠道的具体的数据,一般都会对不同渠道打包不同的App.多渠道打包有多种方式,这里只介绍 ...