7-15 sdut-数据类型-4 第七次全国人口普查数据分析

第七次全国人口普查结果公布!

数据来源: http://www.chinanews.com/gn/2021/05-11/9474601.shtml

   我国以2020年11月1日零时为标准时点,开展了第七次全国人口普查,主要目的是全面查清我国人口数量、结构、分布等方面情况,为完善我国人口发展战略和政策体系、制定经济社会发展规划、推动高质量发展提供准确统计信息支持。

  截至2021年5月11日,国家统计局发布普查数据。现抽取部分数据进行分析。请根据每一步的要求,进行相应的计算并输出。每一类数据占一行,数据之间有一个空格作分隔。

  (一)人口总量。全国人口共141178万人,2010年(第六次全国人口普查数据)的133972万人相比,增加 a1=? 万人,增长率为 a2=?% ,年平均增长率为 a3=? %。 (其中:a1为整数,a2和a3各保留2位小数)

  (二)户别人口。全国共有家庭户49416万户,家庭户人口为129281万人;平均每个家庭户的人口为 b1=?人, 2010年为 3.10人,减少 b2=? 人。(集体户2853万户,集体户人口为11897万人。) (其中:b1和b2各保留2位小数)

  (三)年龄构成。0—14岁人口为25338万人,占 c1=? %;15—59岁人口为89438万人,占 c2=? %;60岁及以上人口为26402万人,占 c3=?%。(其中:c1、c2、c3 各保留2位小数)

  (四)受教育程度人口。具有大学文化程度的人口为21836万人,占总人口的d1=? %。(d1保留2位小数)  

输入格式:

输入数据有4行。第1、2、3、4行的数据含义为如下信息的数量(单位为:万人),若未指定时间即为2020年11月1日标准时点的数据。数据之间用空格作分隔符。

全国总人口 2010年全国总人口

总家庭户 家庭户总人数 2010年家庭户平均人数

0—14岁人口 15—59岁人口 60岁及以上人口

具有大学文化程度的人口

输出格式:

输出数据有4行。第1、2、3、4行的数据含义为如下信息,,若未指定时间即为2020年11月1日标准时点的数据。数据之间用1个空格作分隔符。

全国总人口比2010年增加数量(a1) 增长率(a2%) 年平均增长率( a3%)

平均每个家庭户的人口(b1) 比2010年减少人数(b2)

0—14岁人口占比(c1%) 15—59岁人口占比(c2%) 60岁及以上人口占比(c3%)

具有大学文化程度的人口占比(d1%)

(说明:a1为整数,a2、a3、b1、b2、c1、c2、c3、d1均保留2位小数;如果为增长率或变化率,均以百分数形式展示数据)

输入样例:

141178 133972
49416 129281 3.10
25338 89438 26402
21836

输出样例:

7206 5.38% 0.54%
2.62 0.48
17.95% 63.35% 18.70%
15.47%

答案:

import java.util.Scanner;
        import java.lang.Math;
        import java.math.BigDecimal;
public class Main {
    public static void main(String[] args)
    {
        Scanner reader=new Scanner(System.in);
        int []x=new int[2];
        double []y=new double[3];
        int []z=new int[3];
        int x1,x2,y1,y2,z1,z2,z3,g;
        double y3;
        x1=reader.nextInt();
        x2=reader.nextInt();
        y1=reader.nextInt();
        y2=reader.nextInt();
        y3=reader.nextDouble();
        z1=reader.nextInt();
        z2=reader.nextInt();
        z3=reader.nextInt();
        g=reader.nextInt();
        int a1;
        double a2,a3,b1,b2,c1,c2,c3,d1;
        a1=x1-x2;
        a2=(double)(x1-x2)/x2*100;
        a3=(double)(x1-x2)/x2*100/10;
        b1=(double)y2/y1;
        b2=(double)y3-b1;
        c1=(double)(z1*100.0)/(z1+z2+z3);
        c2=(double)(z2*100.0)/(z1+z2+z3);
        c3=(double)(z3*100.0)/(z1+z2+z3);
        d1=(double)(g*100.0)/x1;
        System.out.printf("%d %.2f%% %.2f%%\n",a1,a2,a3);
        System.out.printf("%.2f %.2f\n",b1,b2);
        System.out.printf("%.2f%% %.2f%% %.2f%%\n",c1,c2,c3);
        System.out.printf("%.2f%%\n",d1);
    }
}

 

### Python 中删除字符串中的指定字符 在 Python 中,可以通过多种方式实现删除字符串中的指定字符。以下是基于已有引用内容以及专业知识整理的相关解决方案。 #### 方法一:使用列表推导式过滤不需要的字符 通过 `list` 和列表推导式可以轻松移除目标字符并重新组合成新的字符串: ```python def remove_chars(s, chars_to_remove): result = ''.join([char for char in s if char not in chars_to_remove]) return result s = "HelloWorld!" chars_to_remove = "lo" new_s = remove_chars(s, chars_to_remove) print(new_s) # 输出: HeWrd! ``` 此方法的核心在于利用列表推导式筛选掉不希望保留的字符[^1]。 --- #### 方法二:使用内置函数 `str.translate()` 和 `str.maketrans()` Python 提供了一个高效的方式——`translate()` 函数配合 `maketrans()` 使用来完成批量替换或删除操作: ```python import string s = "HelloWorld!" remove_set = set("lo") # 创建翻译表,其中要删除的字符映射为 None translation_table = str.maketrans('', '', ''.join(remove_set)) result = s.translate(translation_table) print(result) # 输出: HeWrd! ``` 这种方法适用于需要处理大量数据的情况,性能优于简单的循环遍历[^3]。 --- #### 方法三:正则表达式替代法 如果涉及复杂的模式匹配或者动态调整需求,则可借助模块 `re` 实现更灵活的功能: ```python import re s = "HelloWorld!" pattern = '[lo]' # 定义待删字符集合 result = re.sub(pattern, '', s) print(result) # 输出: HeWrd! ``` 上述代码片段展示了如何定义一个正则表达式的模式去匹配所有需被清除的目标字符,并将其替换成空白[^4]。 --- ### 总结 以上三种方案各有优劣,在实际开发过程中可根据具体场景选择最合适的工具和技术手段解决问题。对于简单任务推荐采用第一种直观易懂的办法;而对于追求效率的大规模运算建议尝试第二种技术路线;最后当面临复杂条件约束时考虑引入第三类高级特性支持下的解决策略。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值