Python 从入门到入门基础练习十五题
1、永远的 HelloWorld
print("Hello World")
2、M与N的数学运算:用户输入两个数 M 和 N,其中 N 是整数,计算M 和 N 的5种数学运算结果,并依次输出,结果间用空格分隔。
5种数学运算分别是:M 与 N 的和、M 与 N 的乘积、M 的 N 次幂、M除 N 的余数、M 和 N 中较大的值。
m = eval(input())
n = eval(input())
list = []
list.append(str(m+n))
list.append(str(m*n))
list.append(str(m**n))
list.append(str(m%n))
if m > n:
list.append(str(m))
else:
list.append(str(n))
print(" ".join(tuple(list)))
3、将输入的字符串垂直输出
def Output(string):
for char in string:
print(char)
s = input()
Output(s)
4、计算矩形面积:用户输入矩形的长和宽,计算其面积并输出,结果四舍五入,保留2位小数。
a = eval(input("请输入矩形长度:"))
b = eval(input("请输入矩形宽度:"))
print("面积是:%.2f"%(a*b))
5、计算2的n次方,n由用户输入
a = eval(input())
print(2**a)
6、成绩转换:编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于60的输出“pass”,否则输出“fail”,成绩不四舍五入。
a = eval(input())
if 100 >= a >= 60:
print("pass")
else:
print("fail")
7、完美立方:找到大于1的4个整数满足完美立方等式:a3=b3+c3+d3(例如123=63+83+103)。编写一个程序,对于任意给定的正整数N(N ≤100),寻找所有的四元组(a,b,c,d),满足a3=b3+c3+d3,其中1<a,b,c,d≤N。
n = int(input()) # n范围内的立方数
list_cube = [0] # 用于存储立方数的列表
for i in range(1, n + 1):
list_cube.append(i * i * i)
for a in range(6, n + 1):
for b in range(2, a - 1):
if list_cube[a] < (list_cube[b] + list_cube[b + 1] + list_cube[b + 2]):
break
for c in range(b + 1, a):
if list_cube[a] < (list_cube[b] + list_cube[c] + list_cube[c + 1]):
break
for d in range(c + 1, a):
if list_cube[a] == (list_cube[b] + list_cube[c] + list_cube[d]):
print("Cube=%d,Tripe=(%d,%d,%d)" % (a, b, c, d))
8、货币转换:写一个程序进行货币间币值转换,其中:人民币和美元间汇率固定为:1美元 = 6.78人民币。
程序可以接受人民币或美元输入,转换为美元或人民币输出。人民币采用RMB表示,美元USD表示,符号和数值之间没有空格。
import re
money = input().lower()
tmp=re.findall('usd|rmb',money)
if len(tmp)==0 or len(tmp)>1:
print('wrong')
money=re.sub(tmp[0],'',money)
try:
num=float(money)
if 'usd' in tmp:
print('RMB%.2f'%(num*6.78))
else:
print('USD%.2f'%(num/6.78))
except:
print('wrong')
9、月份缩写:如果有 months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec.",编写一个程序,用户输入一个月份的数字,输出月份的缩写。
months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec."
n = input()
#(每个月份的数字-1)*4就是这个月份简写的开始索引,截取4个字符
index = (int(n)-1)*4
month = months[index: index + 4]
print(month)
10、温度转换:编写程序将用户输入华氏度转换为摄氏度,或将输入的摄氏度转换为华氏度。
转换算法如下:(C表示摄氏度、F表示华氏度)
C = ( F - 32 ) / 1.8
F = C * 1.8 + 32
要求如下:
(1) 输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;
(2) 输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指摄氏度87.65度;
(3) 不考虑异常输入的问题,输出保留小数点后两位;
Temperature = input()
if Temperature[0] in ['F']:
C = (eval(Temperature[1:])-32)/1.8
print("C{:.2f}".format(C))
else:
F = 1.8*eval(Temperature[1:])+32
print("F{:.2f}".format(F))
11、汇率兑换:按照1美元=6人民币的汇率来编写一个美元与人民币的双向兑换程序
money = input()
if money[-1] in ['$']:
m = 6*eval(money[:-1])
print("{:.2f}R".format(m))
else:
if money[-1] in ['R']:
m = eval(money[:-1])/6
print("{:.2f}$".format(m))
else:
print("输入错误!")
12、恺撒密码:凯撒密码是古罗马凯撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
假设用户可能使用的输入仅包含小写字母a~z和空格,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中空格不用进行加密处理。
sr1 = "abcdefghijklmnopqrstuvwxyz"
sr2 = sr1.upper()
sr = sr1 + sr1 + sr2 + sr2
in_str = input("")
out_str = ""
for j in in_str:
if j == " ":
out_str = out_str + " "
continue
i = sr.find(j)
if(i > -1):
out_str = out_str + sr[i+3]
print(out_str)
13、个人所得税计算:个人所得税采用“超额累进税率”计算方法,简化公式如下:
缴税 = (个人薪金扣险所得 – 个税免征额)* 税率
其中,个税免征额为3500元,税率根据应纳税额数量而不同,如下图所示:
注意:“应纳税额”为:个人薪金扣险所得 – 个税免征额
请编写一个程序根据用户输入计算个人所得税,用户输入是个人薪金扣险所得。
约定用户输入为以人民币元为单位的整数。
m = int(input())
ans = 0
if m > 3500:
m1 = m - 3500
if m1 < 1500:
ans = 0.03 * m1
elif m1 < 4500:
ans = 0.1 * m1
elif m1 < 9000:
ans = 0.2 * m1
elif m1 < 35000:
ans = 0.25 * m1
elif m1 < 55000:
ans = 0.3 * m1
elif m1 < 80000:
ans = 0.35 * m1
else:
ans = 0.45 * m1
else:
ans = 0
print("%.0f"%ans)
14、3位水仙花数计算:“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。
请按照从小到大的顺序输出所有的3位水仙花数,请用一个“逗号+空格”分隔输出结果。
import math
list = []
for i in range(100, 1000):
x = math.floor(i / 100)
y = math.floor((i - x * 100) / 10)
z = i - math.floor(i / 10) * 10
if i == x ** 3 + y ** 3 + z ** 3:
list.append(str(i))
print(", ".join(tuple(list)))
15、统计下列英文诗歌:
All that doth flow we cannot liquid name
Or else would fire and water be the same;
But that is liquid which is moist and wet
Fire that property can never get.
Then 'tis not cold that doth the fire put out
But 'tis the wet that makes it die, no doubt.
编程实现对纽卡斯伯爵的不朽名篇What Is Liquid的统计工作。这首诗(1)有多少个字符?(计入空格和换行符)(2)判断是否以All开头?(3)判断是否以That's all, folks!结尾?(4)第一次和最后一次出现单词the的位置(偏移量)。(5)the出现的总次数?(6)判断诗中出现的所有字符是否都是字母和数字?
s = "All that doth flow we cannot liquid name Or else would fire and water be the same;But that is liquid which is moist and wet Fire that property can never get. Then 'tis not cold that doth the fire put out But 'tis the wet that makes it die, no doubt. "
print("这首词总共有:" + str(len(s)) + "个字符串")
print("这首诗是否以All开头:",s.startswith('All'))
print("这首诗是否以That\'s all, folks!结尾:",s.endswith('That\'s all, folks!'))
print("第一次出现单词the的位置:",s.find(' the '))
print("最后一次出现单词the的位置:",s.rfind(' the '))
print("the在诗中出现的总次数:",s.count(' the '))
print("是否诗中出现的所有字符都是字母和数字:",s.isalnum())
扫描关注微信公众号,了解更多
Python 从入门到入门基础练习十五题的更多相关文章
- Bootstrap <基础二十五>警告(Alerts)
警告(Alerts)以及 Bootstrap 所提供的用于警告的 class.警告(Alerts)向用户提供了一种定义消息样式的方式.它们为典型的用户操作提供了上下文信息反馈. 您可以为警告框添加一个 ...
- Java15-java语法基础(十五)——内部类
java16-java语法基础(十五)内部类 一.内部类: 可以在一个类的内部定义另一个类,这种类称为内部类. 二.内部类分为两种类型: 1.静态内部类: 静态内部类是一个具有static修饰词的类, ...
- Java基础之十五 泛型
第十五章 泛型 一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义类型.如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大. 在面对对象编程语言中,多态算是一种泛化机 ...
- Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类
一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...
- Python基础(十五)
今日主要内容 模块初识 模块导入 模块路径 自定义模块 内置模块(标准库) time datetime random sys os funtools 一.模块初识 (一)什么是模块 其实我们创建的每一 ...
- Python基础(十五):Python的3种字符串格式化,做个超全对比!
有时候,为了更方便.灵活的运用字符串.在Python中,正好有3种方式,支持格式化字符串的输出 . 3种字符串格式化工具的简单介绍 python2.5版本之前,我们使用的是老式字符串格式化输出%s. ...
- Redis入门到高可用(十五)—— GEO
一.简介 二.应用场景 三.API 1.geoadd 2.geopos 3.geodist 4.georadius 四.相关说明
- Redis入门到高可用(十五)—— HyperLogLog
一.简介 二.API Demo 三.使用经验
- Hadoop MapReduce编程 API入门系列之最短路径(十五)
不多说,直接上代码. ======================================= Iteration: 1= Input path: out/shortestpath/input. ...
随机推荐
- yii2高级模板使用一个域名管理前后台
yii2的高级模板分为backend和frontend,最开始用yii的时候并没怎么在意,就使用了两个域名分别解析前后台.今天无意间看见 可以使用一个域名指向前后台. 1.修改 advanced/ba ...
- React Native填坑之旅 -- 回归小插曲
回归RN,非常开心啊! 在React Native 0.49.5上开发,直接遇到一个ios模拟器的问题.这个问题很简单就是Bundle URL not present. 在网上找了很多的解决方法,都不 ...
- a标签文字选中后的颜色样式更改
::selection 选择器,选择被用户选取的元素部分.是css3的用法,讲真,我觉得这个东西没必要特地去写.因为选中样式默认的会根据你的背景颜色还有字体color来设置颜色 这是我默认的样式
- PCI9054 学习小结
PCI的基本协议这里就不介绍了,因为一般的芯片协议都是集成好的,我只需要大体了解就行,不需要做芯片,我感觉就不需要太了解协议. 这里讲解是基于PLX 的9054(9052)芯片为基础的,本人只是入门, ...
- ucos-ii的任务调度机制
1.在ucos-ii中,有这么几张表来管理任务. A.OSTCBPrioTbl[],其结构为OS_TCB指针的数组,其元素个数为64, 每一个元素对应一个任务的优先级,ucos-ii最多可以有64个任 ...
- AM335x(TQ335x)学习笔记——GPIO按键驱动移植
还是按照S5PV210的学习顺序来,我们首先解决按键问题.TQ335x有六个用户按键,分别是上.下.左.右.Enter和ESC.开始我想到的是跟学习S5PV210时一样,编写输入子系统驱动解决按键问题 ...
- MySQL日期类型和毫秒值相互转换
有时需要将日期类型值转换成毫秒值,有时也要将毫秒值转换成日期,为了更方便,满足查询的需要. 现在,新建一张数据库表t_stu_info,并向表里插入数据 use test; show tables; ...
- directX枚举系统设备类
void CSysEnumDlg::DisplayFullCategorySet(void){ USES_CONVERSION; HRESULT hr; IEnumMoniker * ...
- 【原】Java学习笔记026 - 集合
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:从三国演义中 ...
- 芝麻HTTP:Gerapy的安装
Gerapy是一个Scrapy分布式管理模块,本节就来介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/Gerapy 2. pip安装 这里推荐使用pip安装 ...