基本数据类型小题两道

根据公式计算A地区教师任教年薪,统计键盘输入的字符串中数字个数,按字典序输出。


(笔记模板由python脚本于2023年11月10日 18:05:18创建,本篇笔记适合熟悉python列表、元、字符串等基本数据类型的coder翻阅)


【学习的细节是欢悦的历程】



**  自学并不是什么神秘的东西** ,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。

------ 华罗庚




根据公式计算A地区教师任教年薪 基本数据类型小题两道 (统计键盘输入的字符串中数字个数,按字典序输出)



本文质量分:
96
本文地址: https://blog.csdn.net/m0_57158496/article/details/134338805

CSDN质量分查询入口:http://www.csdn.net/qc



目 录

  • ◆ 基本数据类型小题两道
    • 1、题目描述
    • 2、算法解析
      • 2.1 教师任教年薪计算
      • 2.2 统计数字
    • 3、完整源码

◆ 基本数据类型小题两道

1、题目描述

  • 题目描述截屏图片

【题目来源于CSDN 问答社区提问"基本数据类型的两道小题"】


回页目录


2、算法解析

1、根据公式计算A地区教师任教年薪,这是纯纯的数学题目,只要把解题方法"代码"一下就行。

2、统计键盘输入的字符串中数字个数,按字典序输出。此题目用循环遍历即可搞定,蹦出一个"新词儿"字典序,字典序即是升序,对列表排序一下就可以的了。Python列表方法list.sort和sorted函数都是默认升序。

2.1 教师任教年薪计算

题目要求计算公式

  • 代码运行效果截屏图片

python代码

python 复制代码
def countSalary(year):
    base = localSalary = 30000
    
    for i in range(year):
        rate = 2 if i < 11 else 2.5 if i < 21 else 3 if i < 31 else 4 # 三元操作语句确定工资增长率。
        #localSalary *= 1 + (rate/100 if i > 0 else 0)
        print(f"A地区教师任教第{i+1:0>2}年薪资:{base + base*rate/100*i:.2f}") #   字符串插值格式化输出当前年薪。
        #print(f"A地区教师任教第{i+1:0>2}年薪资:{localSalary:.2f}") #   字符串插值格式化输出当前年薪。


if __name__ == '__main__':
    print('\n1、教师任教年薪计算:')
    countSalary(35)
  • 我感觉题目中的文字描述

    与给出的计算公式

    不匹配

    我认为应该是------

    ∵ 工资增长率 =(本期工资额 - 基期工资额)/ 基期工资额 * 100%
    ∴ 本期工资额 - 基期工资额 = 基期工资额 * 工资增长率
    ∴ 本期工资额 = 基期工资额 + 基期工资额 * 工资增长率
    ∴ 本期工资额 = 基本工资额 * (1 + 工资增长率)

因而,我认为题目中的"之前"应该是上一年年薪而不是入职当年的基本年薪。

这样子输出才好------

代码加个变量,输出语句稍微修改就可以

python 复制代码
def countSalary(year):
    base = localSalary = 30000
    
    for i in range(year):
        rate = 2 if i < 11 else 2.5 if i < 21 else 3 if i < 31 else 4 # 三元操作语句确定工资增长率。
        localSalary *= 1 + (rate/100 if i > 0 else 0)
        #print(f"A地区教师任教第{i+1:0>2}年薪资:{base + base*rate/100*i:.2f}") #   字符串插值格式化输出当前年薪。
        print(f"A地区教师任教第{i+1:0>2}年薪资:{localSalary:.2f}") #   字符串插值格式化输出当前年薪。


if __name__ == '__main__':
    print('\n1、教师任教年薪计算:')
    countSalary(35)

回页目录


2.2 统计数字

统计键盘输入的字符中的数字,可以遍历计数;也可以用字符串方法str.count统计0~9的数字,加条if语句过滤掉字符串中没有的数字(str.count方法返回0值的项)

我偷懒取巧😜😜,在此贴出的代码用了带条件表达式语句的列表解析式。

  • 代码运行效果截屏图片

Python代码

python 复制代码
def countNum(s):
    counts = [(i, s.count(str(i))) for i in range(10) if s.count(str(i))] # 解析统计数字
    return '\n'.join([f"{i[0]}: {i[-1]}" for i in counts]) + f'\nTotal {sum([i[-1] for i in counts])} bits' # 拼接"字符串插值格式化"统计元组列表字符串。


if __name__ == '__main__':
    
    while input('\ncontinue?_').strip().lower() == 'yes':
        s = input('\n2、输入数字统计:\n\nInput: ').strip()
        print(f'\nOut: \n{countNum(s)}')

为了达成题目要求的格式,我调用countNum函数用了while循环,又是偷懒而没有另设变量,直接把input()语句放在了while判定是否循环的位置。


回页目录


3、完整源码

(源码较长,点此跳过源码)

python 复制代码
#!/sur/bin/nve python
# coding: utf-8

# 第一小题 #
def countSalary(year):
    base = localSalary = 30000
    
    for i in range(year):
        rate = 2 if i < 11 else 2.5 if i < 21 else 3 if i < 31 else 4 # 三元操作语句确定工资增长率。
        localSalary *= 1 + (rate/100 if i > 0 else 0)
        #print(f"A地区教师任教第{i+1:0>2}年薪资:{base + base*rate/100*i:.2f}") #   字符串插值格式化输出当前年薪。
        print(f"A地区教师任教第{i+1:0>2}年薪资:{localSalary:.2f}") #   字符串插值格式化输出当前年薪。


if __name__ == '__main__':
    print('\n1、教师任教年薪计算:')
    countSalary(35)


# 第二小题 #
def countNum(s):
    counts = [(i, s.count(str(i))) for i in range(10) if s.count(str(i))] # 解析统计数字
    return '\n'.join([f"{i[0]}: {i[-1]}" for i in counts]) + f'\nTotal {sum([i[-1] for i in counts])} bits' # 拼接"字符串插值格式化"统计元组列表字符串。


if __name__ == '__main__':
    
    while input('\ncontinue?_').strip().lower() == 'yes':
        s = input('\n2、输入数字统计:\n\nInput: ').strip()
        print(f'\nOut: \n{countNum(s)}')

回页首


上一篇:  经典猜数字游戏(五次机会猜测100以内随机正整数,我用初通的python类封装了代码并清屏上一次猜测提示,难有所增加咯)
下一篇:


我的HOT博:

本次共计收集 246 篇博文笔记信息,总阅读量 40.46w,平均阅读量 1644。已生成 16 篇阅读量不小于 4000 的博文笔记索引链接。数据采集于 2023-10-12 05:41:03 完成,用时 4 分 41.10 秒。


  1. ChatGPT国内镜像站初体验:聊天、Python代码生成等
    ( 59262 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
    点赞:126   踩 :0  收藏:798  打赏:0  评论:71
    本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-07-03 05:50:55 修改。
  2. 让QQ群昵称色变的神奇代码
    ( 58086 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:24   踩 :0  收藏:83  打赏:0  评论:17
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  3. pandas 数据类型之 DataFrame
    ( 9173 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:31  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  4. 个人信息提取(字符串)
    ( 7215 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:13  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  5. Python列表(list)反序(降序)的7种实现方式
    ( 7161 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:5   踩 :0  收藏:22  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  6. 罗马数字转换器|罗马数字生成器
    ( 7035 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  7. Python字符串居中显示
    ( 6966 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:7  打赏:0  评论:1
    本篇博文笔记
  8. 斐波那契数列的递归实现和for实现
    ( 5523 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记
  9. python清屏
    ( 5108 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:8  打赏:0  评论:0
    本篇博文笔记
  10. 练习:字符串统计(坑:f'string'报错)
    ( 5103 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记
  11. 回车符、换行符和回车换行符
    ( 5093 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  12. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4943 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记
  13. 密码强度检测器
    ( 4323 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  14. 练习:生成100个随机正整数
    ( 4274 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:6  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  15. 我的 Python.color() (Python 色彩打印控制)
    ( 4159 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:8  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  16. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 4149 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。

推荐条件 阅读量突破四千 (更多热博,请点击蓝色文字跳转翻阅)


回页首


精品文章:

来源:老齐教室


Python 入门指南【Python 3.6.3】


好文力荐:


CSDN实用技巧博文:


相关推荐
在努力的韩小豪1 小时前
如何从0开始构建自己的第一个AI应用?(Prompt工程、Agent自定义、Tuning)
人工智能·python·llm·prompt·agent·ai应用·mcp
Otaku love travel2 小时前
实施运维文档
运维·windows·python
测试老哥3 小时前
软件测试之单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
presenttttt3 小时前
用Python和OpenCV从零搭建一个完整的双目视觉系统(六 最终篇)
开发语言·python·opencv·计算机视觉
测试19984 小时前
软件测试之压力测试总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
李昊哲小课5 小时前
销售数据可视化分析项目
python·信息可视化·数据分析·matplotlib·数据可视化·seaborn
烛阴5 小时前
带参数的Python装饰器原来这么简单,5分钟彻底掌握!
前端·python
全干engineer6 小时前
Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用
后端·python·flask·web
nightunderblackcat6 小时前
新手向:Python网络编程,搭建简易HTTP服务器
网络·python·http
李昊哲小课6 小时前
pandas销售数据分析
人工智能·python·数据挖掘·数据分析·pandas