之前学了语法知识,很长时间过去了,不做题跟本啥也想不起来,此博客主要为了 回忆语法 ,找了一些水题来练习。

题目清单

  • 货币系统
  • 统计字符串中每个字符出现的次数
  • 复数运算
  • 判断是否回文
  • 分段函数
  • 英制单位英寸与公制单位厘米换算
  • 二进制转换为十进制
  • 分类统计字符个数
  • 用户登录
  • 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习题练习 + 简单语法总结相关推荐

  1. python 随机生成简单语法结构的中文句子

    简单的中文语句生成器 python 随机生成简单语法结构的中文句子 题目如下:Writing a programming which could generate random Chinese sen ...

  2. 【Python学习】 简单语法与常见错误(持续更新)

    关于单引号和双引号 当输出的字符串内部没有单引号的时候,外面可以用单引号, 但是如果内部有了单引号,那么外部只能用双引号. dict = {'Name': 'Zara', 'Age': 7, 'Cla ...

  3. python语法基础知识-python基础知识---简单语法

    1.if语句 a = 10 b = 20 if(a>b): print("a max!") else: print("b max!") b max! st ...

  4. python语法简单吗_python基本语法练习实例 python好学吗? 语法简单吗? 举个例子?...

    Python学了基础语法,如何练习一些项目呢?学了基础语法,你学一学Django框架和爬虫吧,我现在正在学爬虫相关的教程,黑马程序员视频库里就有相关的教程,我就是在那里下载的,目前正在学. 推荐几个适 ...

  5. python基础----简单语法篇

    编程语言是什么 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. Python简介 Python 英文原意为"蟒蛇&q ...

  6. python基础练习题:简单有趣#32:创建字谜【难度:1级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python基础练习题:简单有趣#32:创建字谜[难度:1级]: 任务 现在给你两个字符串S和长度相同的T,由大写英文字母.你的任务是找到获得一些anagram的串T从字符串s需要"更换操作 ...

  7. python进阶练习题:简单有趣#301:跳绳游戏【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶

    python进阶练习题:简单有趣#301:跳绳游戏[难度:2级]: 任务 有些孩子在玩跳绳游戏.儿童跳过绳子在大致相同的速度:每一次秒'.如果孩子跳时失败,他需要整理一下绳子,然后继续.这将需要3 s ...

  8. python写好的代码怎么给别人使用-10分钟学会用python写游戏!Python其实很简单!...

    原标题:10分钟学会用python写游戏!Python其实很简单! Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程 ...

  9. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  10. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

最新文章

  1. 8个让人相见恨晚的软件,每一款都十分良心
  2. python类继承实例
  3. NGINX发布支持动态配置的开源Web服务器
  4. xhtml的行内描述性元素
  5. 读研期间一定得看论文吗_读研期间各阶段的目标和任务,你明确吗?
  6. 【转】windows上安装gvim
  7. matlab设计滤波器
  8. java种语言包在线翻译_Java 实现在线翻译功能 调用微软Bing API
  9. arduino雨滴传感器和舵机控制
  10. 什么是水晶报表_看不懂财务报表?别方!二十年老会计教你做财务报表分析
  11. 第六章-循环控制结构
  12. 【Matlab】蒙特卡罗法模拟圆周率+对应解析的GIF生成【超详细的注释和解释】
  13. 使用U盘制作系统盘(龙芯镜像)
  14. 谷粒商城-02-p20-p27
  15. Facebook使用虚拟信用卡养广告账户扣费跑广告实用技巧
  16. java动物类问题_java实现动物特性的面向对象的描述(三个阶段)
  17. 开设生物医学工程的高校(按区域划分)
  18. 手板(prototype)
  19. ArcBlock ⑪ 月报 | 无惧寒冬 ABT 2019 区块链远征启程
  20. 哪个计算机无法做到双屏显示,Intel集成显卡实现双屏显示实现复制和扩展

热门文章

  1. 梅兰商城案例代码编写(自己练习,纯手写,最后附有结果图以及精灵图)
  2. 腾讯云对象储存-图片上传-删除图片
  3. mysql不停机升级_线上不停机部署mysql主从
  4. 森林老是显示连接服务器超时,乌鸦森林之谜3:卡赫拉之影无法连接服务器是什么原因...
  5. java界面添加动态背景图片
  6. OKEx徐坤:构建核心壁垒,拓展全球市场
  7. Thinkphp中的 I 函数(Thinkphp3.2.3版本)
  8. 大猩猩优化算法(Matlab代码实现)
  9. psp软件设计需求分析
  10. 八成家用智能摄像头存泄密风险 破解后可窃取实时画面