Python习题练习 + 简单语法总结
之前学了语法知识,很长时间过去了,不做题跟本啥也想不起来,此博客主要为了 回忆语法 ,找了一些水题来练习。
题目清单
- 货币系统
- 统计字符串中每个字符出现的次数
- 复数运算
- 判断是否回文
- 分段函数
- 英制单位英寸与公制单位厘米换算
- 二进制转换为十进制
- 分类统计字符个数
- 用户登录
- 1-n的阶乘之和
- 判断元素在列表中出现的次数
- 统计列表元素
- 购物
- 在这里插入图片描述
- 字母频率统计
- 英汉字典
- 十进制转二进制、八进制、十六进制
- 快速排序
货币系统
money = input()
if money[0] in ['R', 'r']:U = eval(money[3: ]) / 7.01print("RMB{:.2f}".format(U))
elif money[0] in ['U', 'u']:R = 7.01 * eval(money[3: ])print("USD{:.2f}".format(R))
语法总结:
1、使用input输入字符串;
2、eval()方法将字符串类型的值转换为数字类型的值,也可以直接用来提取用户输入的多个值,得到多个以逗号分隔的数值(如a,b = eval(input()))
3、格式化函数str.format,基本语法是通过{}和:来表示,如 {:.2f}表示保留小数点后两位。
统计字符串中每个字符出现的次数
str = "Sometimes I believe, at times I'm rational"
str = str.replace(" ", "")
dict = {}for i in str:dict[i] = str.count(i)
print(dict)
语法总结:
1、str.replace()可以替换字符;
2、dict{}是字典类型,我们最终要的结果就是字典类型;
3、str.count()用于统计字符串里某个字符出现的次数,默认为从开始到结尾。
4、round()返回浮点数x的四舍五入值(此题未使用,这里只是复习),floor() 返回数字的下舍整数, 运算符 // 也是向下取整。
复数运算
z = 4.53e-2 + 9j
print(z.real)
print(z.imag)
1、z.real返回实部,z.imag返回虚部
判断是否回文
a = input()
if a[::-1] == a:print("是回文")
else:print("不是回文")
语法总结:1、列表切片a[: : -1]相当于将原字符串倒序
分段函数
import math
x = eval(input())
if x > 2:print("y=" + "{:.3f}".format(abs(1.23 * x - 1.79)))
elif x == 2:print("y=" + "{:.3f}".format(math.e ** x + x ** 3))
else:print("y=" + "{:.3f}".format(math.cos(x)))
语法:1、math.e 和,math.cos();
英制单位英寸与公制单位厘米换算
a = input()
if a[-2:] == "英寸" or a[-2:] == "in":b = eval(a[:-2]) * 2.54print(a[:-2] + "英寸=" + "{:.2f}".format(b)+"厘米")
elif a[-2:] == "厘米" or a[-2:] == "CM" or a[-2:] == "cm":b = eval(a[:-2]) / 2.54print(a[:-2] + "厘米=" + "{:.2f}".format(b)+"英寸")
else:print("单位无效")
语法:注意a[-2: ]和a[:-2]的区别,一个表示后两个字符,一个表示除后两个之外的字符
二进制转换为十进制
方法一:秦九韶算法:k进制转十进制的方法是,从高位到低位,不断乘k,然后加上这一位
a = input()
d = 0
for ch in a:d = d * 2 + int(ch)
print(d)
方法二:按位展开相加:
s = input()
length = len(s)
d = 0
for i in range(length):d = d + int(s[i]) * 2 ** (length - 1 - i)
print(d)
方法三:非循环方法(eval)
print(eval('0b' + input()))
方法四:非循环方法(int)
print(int(input(), 2))
分类统计字符个数
str = input()
str = str.lower()letter, digit,other = 0, 0, 0
for x in str:if 'a' <= x <= 'z':letter += 1elif '0' <= x <= '9':digit += 1else :other += 1
print("letter={}, digit={}, other={}".format(letter, digit, other))
函数表示:(与题目稍有不同)
def count(s):s=s.lower()n=len(s)lettercount=0digitcount=0for n in s:if 'a' <= n <= 'z':lettercount=lettercount+1elif '0' <= n <= '9':digitcount=digitcount+1return(lettercount,digitcount)
s = input()
lettercount,digitcount=count(s)
print("英文字母个数={},数字个数={}".format(lettercount,digitcount))
用户登录
error_num = 0
while error_num < 3:name = input()password = input()if (name == "admin" or name == "administrator") and password == "123456":print("登录成功")breakelse:print("登录失败")error_num += 1
1-n的阶乘之和
def fact(n):s = 1for i in range(1, n + 1):s *= ireturn s
def main():n = eval(input())s = 0for i in range(1, n + 1):s = s + fact(i)print(s)
main()
判断元素在列表中出现的次数
def Count(lst, n):return lst.count(n)
lst = [8,6,8,10,8,20,10,8,8]
x = eval(input())
print("{}出现{}次".format(x, Count(lst, x)))
统计列表元素
a = eval(input())
b = eval(input())
c = eval(input())
d = eval(input())
e = eval(input())
list = [a, b, c, d, e]
print(list)
ave = (a + b + c + d + e) / 5
print("列表元素的平均数是{}".format(ave))
sum = 0
for i in list:if i > ave:sum += 1
print("高于平均数的元素个数是{}".format(sum))
list.sort(reverse = True)#降序
print(list)
语法总结:
1、list.sort()用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数.reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)
购物
d = {"egg":6,"meat":40, "sausage":12 }
Sum=0
for a,b in d.items():c=eval(input())money=int(b)*cSum+=moneyprint("{}斤{}".format(c,a),end=",")
print("共计{:.2f}元".format(Sum))
语法总结:
1、d.items()以列表返回可遍历的(键, 值) 元组数组
比如:
d={1:"a",2:"b",3:"c"}
result=[]
for k,v in d.items():result.append(k)result.append(v)print(result)
输出[1, 'a', 2, 'b', 3, 'c']
dic={"apple":"苹果","pear":"梨","cat":"猫","dog":"狗"}
a = input()
print("{}-{}".format(a,dic.get(a,"error")))
语法总结:
1、字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。
dict.get(key, default=None)
字母频率统计
s="Hooray! It's snowing! It's time to make a snowman.James runs out. He makes a big pile of snow. "
s=s.lower()
d={}
for i in s:if i not in [' ','!','.',',','\'']:d[i]=d.get(i,0)+1
for key,value in d.items():print("{}:{}".format(key,value))
英汉字典
dic={"apple":"苹果","pear":"梨","cat":"猫","dog":"狗"}
a = input()
print("{}-{}".format(a,dic.get(a,"error")))
1、语法总结:dict.get(key, default=None)
2、key – 字典中要查找的键。
3、default – 如果指定键的值不存在时,返回该默认值值。
十进制转二进制、八进制、十六进制
a = int(input())
print("转换为二进制为:{}".format(bin(a)))
print("转换为八进制为:{}".format(oct(a)))
print("转换为十六进制为:{}".format(hex(a)))
bin():其他进制转二进制
oct():其他进制转八进制
int():其他进制转十进制
hex():其他进制转十六进制
快速排序
n = int(input())
s = list(map(int, input().split()))def quick_sort(q, l, r):if l < r:i = l - 1j = r + 1x = q[(i + j) // 2]while i < j:while 1:i += 1if q[i] >= x : breakwhile 1:j -= 1if q[j] <= x : breakif i < j :q[i], q[j] = q[j], q[i] # 交换值quick_sort(q, l, j)quick_sort(q, j + 1, r)quick_sort(s, 0, n - 1)
print(' '.join(map(str, s)))
语法总结:
1、python join()方法:用于将序列中的元素以指定的字符连接生成一个新的字符串,如此题用空格连接每个字符。
2、python map()的常见用法:
- map()函数可以格式化输入一行整数:
a = list(map(int,input().split()))
- 第一个参数接收一个函数名,第二个参数接收一个可迭代对象,也可以进行类型转换
list4 = [1,2,3,4]
def add(a):a += 1return a
list5 = map(add,list4)
print list5
结果为[2,3,4,5]
Python习题练习 + 简单语法总结相关推荐
- python 随机生成简单语法结构的中文句子
简单的中文语句生成器 python 随机生成简单语法结构的中文句子 题目如下:Writing a programming which could generate random Chinese sen ...
- 【Python学习】 简单语法与常见错误(持续更新)
关于单引号和双引号 当输出的字符串内部没有单引号的时候,外面可以用单引号, 但是如果内部有了单引号,那么外部只能用双引号. dict = {'Name': 'Zara', 'Age': 7, 'Cla ...
- python语法基础知识-python基础知识---简单语法
1.if语句 a = 10 b = 20 if(a>b): print("a max!") else: print("b max!") b max! st ...
- python语法简单吗_python基本语法练习实例 python好学吗? 语法简单吗? 举个例子?...
Python学了基础语法,如何练习一些项目呢?学了基础语法,你学一学Django框架和爬虫吧,我现在正在学爬虫相关的教程,黑马程序员视频库里就有相关的教程,我就是在那里下载的,目前正在学. 推荐几个适 ...
- python基础----简单语法篇
编程语言是什么 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. Python简介 Python 英文原意为"蟒蛇&q ...
- python基础练习题:简单有趣#32:创建字谜【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
python基础练习题:简单有趣#32:创建字谜[难度:1级]: 任务 现在给你两个字符串S和长度相同的T,由大写英文字母.你的任务是找到获得一些anagram的串T从字符串s需要"更换操作 ...
- python进阶练习题:简单有趣#301:跳绳游戏【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶
python进阶练习题:简单有趣#301:跳绳游戏[难度:2级]: 任务 有些孩子在玩跳绳游戏.儿童跳过绳子在大致相同的速度:每一次秒'.如果孩子跳时失败,他需要整理一下绳子,然后继续.这将需要3 s ...
- python写好的代码怎么给别人使用-10分钟学会用python写游戏!Python其实很简单!...
原标题:10分钟学会用python写游戏!Python其实很简单! Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程 ...
- python编程语法大全-Python编程入门——基础语法详解
今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...
- python编程语法-Python编程入门——基础语法详解
今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...
最新文章
- 8个让人相见恨晚的软件,每一款都十分良心
- python类继承实例
- NGINX发布支持动态配置的开源Web服务器
- xhtml的行内描述性元素
- 读研期间一定得看论文吗_读研期间各阶段的目标和任务,你明确吗?
- 【转】windows上安装gvim
- matlab设计滤波器
- java种语言包在线翻译_Java 实现在线翻译功能 调用微软Bing API
- arduino雨滴传感器和舵机控制
- 什么是水晶报表_看不懂财务报表?别方!二十年老会计教你做财务报表分析
- 第六章-循环控制结构
- 【Matlab】蒙特卡罗法模拟圆周率+对应解析的GIF生成【超详细的注释和解释】
- 使用U盘制作系统盘(龙芯镜像)
- 谷粒商城-02-p20-p27
- Facebook使用虚拟信用卡养广告账户扣费跑广告实用技巧
- java动物类问题_java实现动物特性的面向对象的描述(三个阶段)
- 开设生物医学工程的高校(按区域划分)
- 手板(prototype)
- ArcBlock ⑪ 月报 | 无惧寒冬 ABT 2019 区块链远征启程
- 哪个计算机无法做到双屏显示,Intel集成显卡实现双屏显示实现复制和扩展