Python 基础练手 32 道
只是记录一把, 这两天, 在建表和定方案的时间极其不充裕下, 看到有铁子求助一下基础的编程题, 32 道题, 90% 都是非常基础的那种, 输入, 输出, 简单判断这些.. 对于新手而言, 练练手还是可以的, 基础语法都有涉及道, 有几道题还是有一点难度和趣味的.
结论
都搞定了, 不会写, 还不会抄的嘛, 抄代码才是提高自身实力的关键呀.

累计, 大致算了下我零零散散抽空, 弄完这些基础题, 差不多也用了近 4 个小时, 之前还自我吹捧了一波, 说分分钟秒杀, 这打脸, 异常快, 快到比抛异常还快. 另外, 发现自己最近老爱吐槽, 风格就差, 即便天下人吐我, 我也要吐天下人那种.
部分小题
基础的输入输出啥的, 不弄题目了, 直接看看这些基础代码即可.
# 3位整数逆序
num = input("请输入一个三位整数:")
print(num[::-1])
我还发现, 好多面试题, 都喜欢考这种, 字符串反转... 这用 Python 就 太easy 和实用了.
# if - else 练习
sex = input('请输入您的性别(F 或 M): ')
age = int(input("请输入您的年龄: "))
if sex == "M":
if age < 30:
print('young')
elif age <= 36:
print('marriageable age')
else:
print('old')
elif sex == 'F':
if age < 25:
print('young')
elif age <= 30:
print('marriageable age')
else:
print('old')
else:
print('wrong')
# if-else 和 数学计算 练习
my_str = input("What's the temperature? ")
if my_str[-1] in ['F', 'f']:
C = round((eval(my_str[0:-1]) - 32) / 1.8, 1)
print(f"The converted temperature is {C}C.")
elif my_str[-1] in ['C', 'c']:
F = round(1.8 * eval(my_str[0:-1]) + 32, 1)
print(f"The converted temperature is {F}F.")
else:
print("input error my dear.")
# 循环: 文件读写
with open("movie.txt") as f_in:
with open("out.txt") as f_out:
for line in f_in:
# 假设每行数据, 分割符是 ','
line_list = line.split(',')
# 时长 Lasting 是最后一列
if line_list[-1] < 90:
# 将该行序号写到 out.txt
f_out.write(str(line_list[0]))
边读的同时, 一边写, 文件对象, 也是可迭代的, 这非常需要了解一下.
# 循环练习: 亲密数
x = int(input("请输入一个正整数: "))
for a in range(2, x):
b = 0
for i in range(1, a):
if a % i == 0:
b += i
r = 0
for j in range(1, b):
if b % j == 0:
r += j
if r == a and a < b:
print(a, b)
# 循环: 逻辑判断
n = int(input('请输入最大兵力人数: '))
for i in range(n + 1):
if (i % 3 == 2) and (i % 5 == 1) and (i % 7 == 0):
print(i, end=' ')
# 列表推导式
num = int(input("请输入一个 1-100 间的整数: "))
print([i for i in range(1, num + 1) if i % 2 != 0])
# 正则表达式
# 匹配: 首字母为 '数字或下划线, 其余字母为 字母,数字,下划线'
import re
my_str = input("请输入您将要注册的用户名: ")
ret = re.match(r"[a-z_]?[a-z\d\s_]*", my_str)
print(ret.group())
print(True) if ret else print(False)
# 字典按值排序
import operator
int(input("输入您要处理的整数个数: "))
num_lst = list(map(int, input("请在一行输入, 两两间用 空格 隔开").split()))
my_dict = {}
for num in num_lst:
if num not in my_dict:
my_dict[num] = 1
else:
my_dict[num] += 1
items = sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)
for i, j in items:
print(str(i) + ' ' + str(j))
...
小结
- 刷题是要经常的, 目的是要一直保持手感, 但不系统, 还是要仔细搭建起自己的知识体系
- 编程我觉得就真的是唯手熟尔, 抄多了就自然会了, 并没有们技巧和捷径, 都是要采坑过去的
- 结合我最近做的BI项目, 我更加坚信, 前端比后端复杂, sql 比 编程复杂
Python 基础练手 32 道的更多相关文章
- Python—经典练手题目汇总
Python-经典练手题目汇总 # 1.有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两# 个,问几天以后能卖完? day=0 xg=1020 for i in rang ...
- Python新手练手项目
1.新手练手项目集中推荐 https://zhuanlan.zhihu.com/p/22164270 2.Python学习网站 https://www.shiyanlou.com 3.数据结构可视化学 ...
- python爬虫练手项目快递单号查询
import requests def main(): try: num = input('请输入快递单号:') url = 'http://www.kuaidi100.com/autonumber/ ...
- Python 爬虫练手项目—酒店信息爬取
from bs4 import BeautifulSoup import requests import time import re url = 'http://search.qyer.com/ho ...
- Python适合练手的项目
原文地址:https://www.jianshu.com/p/039156321e30 项目地址:https://github.com/DeqianBai/Python-Project/tree/ma ...
- Python数据分析练手:分析知乎大V
原文链接:https://zhuanlan.zhihu.com/p/92768131?utm_source=tuicool&utm_medium=referral 知乎,可以说是国内目前最大的 ...
- python 小练手
监控 主动监控 - 服务器端轮询客户端 被动监控-客户端agent上报到服务器端 混合模式---两种都支持 需求 1个性化的监控需求 2每个服务的监控间隔不同 3混合模式的监控
- python小练手题1
1. """ Write a program which can compute the factorial of a given numbers. The result ...
- python学习笔记-练手实例
1.题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列 代码: for i in range(1,10): print ('\r') for j ...
- 推荐:一个适合于Python新手的入门练手项目
随着人工智能的兴起,国内掀起了一股Python学习热潮,入门级编程语言,大多选择Python,有经验的程序员,也开始学习Python,正所谓是人生苦短,我用Python 有个Python入门练手项目, ...
随机推荐
- Processing模拟控制多台舵机-以距离为参数 程序参考
又是一次课程学习的结束,辅导学生的过程也很受益,温故而知新.该组同学需要Arduino控制多达6个舵机,而且基于距离这一参数,在不同距离值之间会有不同的触发事件,也就是6个舵机转的角度都有所不同,而且 ...
- 面试题30. 包含min函数的栈
地址:https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/ <?php /** 定义栈的数据结构,请在该类型中实现一 ...
- go语言实现终端里的倒计时
最近在更新系统的时候发现pacman的命令行界面变了,我有很久没更新过设备上的Linux系统了,所以啥时候变的不好说.但这一变化成功勾起了我的好奇心.新版的更新进度界面如下: 新的更新进度界面能同时显 ...
- 解决 Ubuntu 22.04 下 flameshot 截图工具无法使用的问题
问题描述 flameshot 是 Linux 端广受好评的一款截图工具,但在 Ubuntu 22.04 中,安装完成后却不能使用,表现为截图命令无响应,或截图过程报错. 通过查阅 flameshot ...
- linux部署go项目
直接部署: 1.将程序所需要的文件如配置文件和生成的可执行文件拷贝到linux中 2.直接执行./main命令,启动程序 (main是go编译生成的可执行文件) 如果报Permission denie ...
- 团队小规模本地大模型服务平台搭建 - Ubuntu
实现目标和考虑因素 部署一个支持多用户同时使用.多模型运行的离线局域网大模型服务器 需要考虑以下几个关键因素: 大模型的加载和管理.使用一个基础大模型,根据实战需要创建多个专用模型,模型管理方便可靠. ...
- 独立博客与秘密基地,以及对UI设计中拟物态的怀念
小时候的秘密基地 哪个人小的时候不想有一个"秘密基地"呢?后来人长大了,心里还有这个小欲望,想有一块属于自己的空间,可以自由装饰,可以藏喜欢的东西,不受社会道德约束,不受规则铁蹄践 ...
- 【JDBC第4章】操作BLOB类型字段
第4章:操作BLOB类型字段 4.1 MySQL BLOB类型 MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据. 插入BLOB类型的数据必须使用Pre ...
- 【Ubuntu】在Ubuntu上安装微信
[Ubuntu]在Ubuntu上安装微信 零.说明 微信官网最近发布了Linux的测试版本,实际使用下来与Windows版本相差不多,本文介绍如何在Ubuntu(Debian系)上安装Linux版本的 ...
- Linux | 如何创建一个 home 目录在 /data 磁盘的 sudo 用户
需求: 拿到了 boss 的服务器账号 ssh boss@172.16.1.100,需要登录 boss 的账号,然后为自己创建一个账号,实现 ssh <user_name>@172.16. ...