关于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 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和 ...
随机推荐
- 多个线程运行MR程序时hadoop出现的问题
夜间多个任务同时并行,总有几个随机性有任务失败,查看日志: cat -n ads_channel.log |grep "Caused by" Caused by: java.uti ...
- typescript与nodejs(二)基于装饰器实现路由表
之前实现了一个简单的WebServer 但是这离实际使用还有一点距离 webserver 首先面对第一个问题是路由表 啥是路由表 路由表别看听起来神秘,但是其实就是 if else onhttp- { ...
- 【RTOS】基于V7开发板的uCOS-III,uCOS-II,RTX4,RTX5,FreeRTOS原版和带CMSIS-RTOS V2封装层版全部集齐
RTOS模板制作好后,后面堆各种中间件就方便了. 1.基于V7开发板的最新版uCOS-II V2.92.16程序模板,含MDK和IAR,支持uC/Probe https://www.cnblogs.c ...
- MySql索引背后的数据结构及算法
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree ...
- java中窗口的打开与关闭
作为小白的我,今天学习了java中打开与关闭窗口的方法. 1.在java中创建一个窗口 import java.awt.*;import java.awt.event.*;public class L ...
- Jmeter元件——JSON Extractor后置处理器介绍2
在前段时间将JSON Extractor元件做了个简单的介绍:Jmeter元件——JSON Extractor后置处理器介绍1,今天以一个具体的json,以不同的方式提取数据做个详细的介绍. 一.模拟 ...
- 【UWP】仅在TextBlock文本溢出时显示Tooltip
前言 这是我今天在回答SO问题时偶然遇到的,觉得可能还比较通用,就记录下来以供参考. 通常,我们使用ToolTip最简单的方式是这样: <TextBlock Text="Test&qu ...
- 面试再问ThreadLocal,别说你不会
转载自:公众号<Java知音> ThreadLocal是什么 以前面试的时候问到ThreadLocal总是一脸懵逼,只知道有这个哥们,不了解他是用来做什么的,更不清楚他的原理了.表面上看他 ...
- 剑指offer 22:验证栈的压入、弹出序列
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...
- ABP入门教程10 - 展示层实现增删改查-控制器
点这里进入ABP入门教程目录 创建控制器 在展示层(即JD.CRS.Web.Mvc)的Controllers下新建一个控制器CourseController.cs using Abp.Applicat ...