文章目录

  • (1)题目描述
  • (2)Python3实现
  • (3)知识点详解
    • 1、input():获取控制台(任意形式)的输入。输出均为字符串类型。
      • 1.1、input() 与 list(input()) 的区别、及其相互转换方法
    • 2、print() :打印输出。
    • 3、map():将指定函数依次作用于序列中的每一个元素 —— 返回一个迭代器,结果需指定数据结构进行转换后输出。
    • 4、str.split():通过指定分隔符(默认为空格)对字符串进行切片,并返回分割后的字符串列表(list)。
    • 5、算术运算符

(1)题目描述

(2)Python3实现

while True:try:a, b = map(int, input().split())     # 2 4a1 = a        # 2b1 = b      # 4while b1:a1, b1 = b1, a1%b1# a1=4, b1=4/2=2# a1=2, b1=0print(a*b//a1)      # 2*4//2=4except:break

(3)知识点详解

1、input():获取控制台(任意形式)的输入。输出均为字符串类型。

str1 = input()
print(str1)
print('提示语句:', str1)
print(type(str1))'''
asd123!#
提示语句: asd123!#
<class 'str'>
'''
常用的强转类型 说明
int(input()) 强转为整型(输入必须时整型)
list(input()) 强转为列表(输入可以是任意类型)

1.1、input() 与 list(input()) 的区别、及其相互转换方法

  • 相同点:两个方法都可以进行for循环迭代提取字符,提取后都为字符串类型。
  • 不同点:str = list(input()) 将输入字符串转换为list类型,可以进行相关操作。如: str.append()
  • 将列表转换为字符串:str_list = ['A', 'aA', 2.0, '', 1]
  • 方法一:print(''.join(str))
  • 方法二:print(''.join(map(str, str_list)))

备注:若list中包含数字,则不能直接转化成字符串,否则系统报错。

  • 方法一:print(''.join([str(ii) for ii in str_list]))
  • 方法二:print(''.join(map(str, str_list)))
    map():根据给定函数对指定序列进行映射。即把传入函数依次作用到序列的每一个元素,并返回新的序列。

(1) 举例说明:若list中包含数字,则不能直接转化成字符串,否则系统报错。

str = ['25', 'd', 19, 10]
print(' '.join(str))'''
Traceback (most recent call last):File "C:/Users/Administrator/Desktop/test.py", line 188, in <module>print(' '.join(str))
TypeError: sequence item 3: expected str instance, int found
'''

(2)举例说明:若list中包含数字,将list中的所有元素转换为字符串。

str_list = ['A', 'aA', 2.0, '', 1]
print(''.join(str(ii) for ii in str_list))
print(''.join([str(ii) for ii in str_list]))
print(''.join(map(str, str_list)))        # map():根据给定函数对指定序列进行映射。即把传入函数依次作用到序列的每一个元素,并返回新的序列。'''
AaA2.01
AaA2.01
AaA2.01
'''

2、print() :打印输出。

【Python】print()函数的用法

x, y = 1, 9
print('{},{}' .format(x, y))  # 打印方法一
print('*'*10)                 # 打印分割符
print(x, ',', y)              # 打印方法二'''
1,9
**********
1 , 9
'''

3、map():将指定函数依次作用于序列中的每一个元素 —— 返回一个迭代器,结果需指定数据结构进行转换后输出。

函数说明:map(function, iterable)
输入参数:

  • function:指定函数。
  • iterable:可迭代对象
print('返回一个迭代器: ', map(int, (1, 2, 3)))
# 返回一个迭代器:  <map object at 0x0000018507A34130>

结果需指定数据结构进行转换后输出

  • 数据结构:list、tuple、set。可转换后输出结果
  • 数据结构:str。返回一个迭代器
  • 数据结构:dict。ValueError,需输入两个参数
print('将元组转换为list: ', list(map(int, (1, 2, 3))))
print('将字符串转换为list: ', tuple(map(int, '1234')))
print('将字典中的key转换为list: ', set(map(int, {1: 2, 2: 3, 3: 4})))'''
将元组转换为list:  [1, 2, 3]
将字符串转换为list:  (1, 2, 3)
将字典中的key转换为list:  {1, 2, 3}
'''################################################################################
dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}]
print(list(map(lambda x : x['name'] == 'python', dict_a)))
print(dict(map(lambda x : x['name'] == 'python', dict_a)))"""
[True, False]
TypeError: cannot convert dictionary update sequence element #0 to a sequence
"""

4、str.split():通过指定分隔符(默认为空格)对字符串进行切片,并返回分割后的字符串列表(list)。

函数说明:str.split(str=".", num=string.count(str))[n]
参数说明:

  • str: 表示分隔符,默认为空格,但是不能为空。若字符串中没有分隔符,则把整个字符串作为列表的一个元素。
  • num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量。
  • [n]: 表示选取第n个切片。
    • 注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略。
s = 'www.dod.com.cn'
print('分隔符(默认): ', s.split())                    # 【输出结果】分隔符(默认):  ['www.dod.com.cn']
print('分隔符(.): ', s.split('.'))                   # 【输出结果】分隔符(.):  ['www', 'dod', 'com', 'cn']
print('分割1次, 分隔符(.): ', s.split('.', 1))        # 【输出结果】分割1次, 分隔符(.):  ['www', 'dod.com.cn']
print('分割2次, 分隔符(.): ', s.split('.', 2))        # 【输出结果】分割2次, 分隔符(.):  ['www', 'dod', 'com.cn']
print('分割2次, 分隔符(.), 取出分割后下标为1的字符串: ', s.split('.', 2)[1])      # 【输出结果】分割2次, 分隔符(.), 取出分割后下标为1的字符串:  dod
print(s.split('.', -1))                             # 【输出结果】['www', 'dod', 'com', 'cn']
###########################################
# 分割2次, 并分别保存到三个变量
s1, s2, s3 = s.split('.', 2)
print('s1:', s1)                                    # 【输出结果】s1: www
print('s2:', s1)                                    # 【输出结果】s2: www
print('s3:', s2)                                    # 【输出结果】s3: dod
###########################################
# 连续多次分割
a = 'Hello<[www.dodo.com.cn]>Bye'
print(a.split('['))                                 # 【输出结果】['Hello<', 'www.dodo.com.cn]>Bye']
print(a.split('[')[1].split(']')[0])                # 【输出结果】www.dodo.com.cn
print(a.split('[')[1].split(']')[0].split('.'))     # 【输出结果】['www', 'dodo', 'com', 'cn']

5、算术运算符

序列 运算符 名称 说明 举例 结果 数据类型
【1】 + (1)对于数字:求和。 c = 1 + 2 c = 3 int型
【1】 + (2)对于序列类型(如:字符串):拼接操作 str = 'a' + 'b' str = 'ab' 字符串型
2 - 求差值 c = 1 - 2 c = -1 int型
【3】 * (1)对于数字:求积。 c = 2 * 3 c = 6 int型
【3】 * (2)对于序列类型(如:字符串):重复操作 str = 'a' * 3 str = 'aaa' 字符串型
4 / 求商(两个整数或浮点数相除,结果为float型) c = 3 / 2 c = 1.5 浮点型
5 % 取余 求余数 c = 3 % 2 c = 1 int型
6 ** 求次幂 c = 3 ** 2 c = 9 int型
【7】 // 地板除法 向下取整。(1)两个整数相除,结果为int型 c = 3 // 2 c = 1 int型
【7】 // 地板除法 向下取整。(2)除数或被除数为float类型,则结果为float类型。 c = 3 // 2.0 c = 1.0 浮点型

华为机试题:HJ108 求最小公倍数(python)相关推荐

  1. 华为机试题:求偶数个复数的平均值

    题目描述  由实部和虚部组成,形如(a,bi)这样的数,称为复数.  通信系统中,通常用32bit数来表示复数(高16bit表示实部,低16bit表示虚部),如整数524295(16进制为0x0008 ...

  2. 华为电脑c语言总是错误,关于华为机试题求代码!解决方法

    关于华为机试题求代码!!! n个字符串,1 如n=3 1.what is local bus? 2.this is local bus. 3.local bus is name sdhfj. 那么最长 ...

  3. 华为机试python编程题_牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  4. 牛客网华为机试题(JavaScript)

    最近在牛客网刷华为机试题,遇到了很多坑,记录: 每一道题目都经过自己实践验证 华为机试题 牛客网在javascript V8引擎下处理输入输出如下: 利用了readline()接收输入的每一行,多行处 ...

  5. 【牛客网】华为机试题(00、C++版本)

    华为机试题,本来以为对一些基础的程序还是有点信心的:不过不练不知道,一练吓一跳.平时虽然也都码程序,但是一到机试题就各种乱七八的不适应.还是要加强一下练习. 1.字符串最后一个单词的长度 题目描述:计 ...

  6. 【牛客网-华为机试题目录】持续更新中

    文章目录 博主精品专栏导航 华为机试题:HJ80 整型数组合并(python) 华为机试题:HJ76 尼科彻斯定理(python) 华为机试题:HJ73 计算日期到天数转换(python) 华为机试题 ...

  7. 华为机试题库+题解【C语言版】

    文章目录 前言 1.字符串最后一个单词的长度[***] 描述 输入描述 输出描述 示例 解题代码 2.计算某字符出现次数[****] 描述 输入描述 输出描述 示例 解题代码 3. 明明的随机数[** ...

  8. 【华为机试题分析-C/C++】知识点分类总结

    专栏地址:https://blog.csdn.net/super828/category_10825347.html 字符串 [华为机试题分析] 1 字符串最后一个单词的长度 [华为机试题分析] 2 ...

  9. 【华为机试题分析】 4 字符串分割

    我的首发平台是公众号[CodeAllen],学习交流QQ群:736386324,本文版权归作者所有,转载请注明出处 [华为机试题分析] 4 字符串分割 #include <stdio.h> ...

  10. 华为机试题python版节选(基础编程题)

    前言 自学python之后,可以借助这些企业招聘时的机考题目来锤炼一下实践能力.. 每道题含要点解析,是按照自己理解梳理的,多个答案的是结合自己的答案+网上的答案,不一定很严谨,请读者自行在编译器中调 ...

最新文章

  1. 利用jquery给指定的table动态添加一行、删除一行
  2. MVC基于角色权限控制--菜单展示
  3. EditText 不弹出软件键盘
  4. 73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令
  5. C++中字符型和整型的关系
  6. LeetCode 2119. 反转两次的数字
  7. 计组之总线:4、总线标准
  8. django模型的元数据Meta
  9. [转]NetBeans开发Applet方法实例学习
  10. ios学习笔记——对象归档
  11. Tensorflow中图像的预处理
  12. 单片机网关与linux网关区别,浅谈Linux的路由与网关
  13. word格式与pdf格式相互转换
  14. 数据结构(四)图 —— 编程作业 04 :哈利·波特的考试
  15. 项目管理练习1577628224
  16. 【代数】2007全国联赛 填空第二题 题解(韦达定理,分数裂项)
  17. 安装Pure-ftpd
  18. 移动硬盘linux读取失败,无法读取移动硬盘|无法识别的6种修复方法插图
  19. PS图层混合算法之四(亮光, 点光, 线性光, 实色混合)
  20. Linux脚本:Bash脚本看这一篇就够了

热门文章

  1. Hypervisor---虚拟化技术简易说明
  2. 初始化Weex项目遇到的问题记录
  3. 什么是精灵图?如何使用精灵图
  4. likely和unlikely的区别
  5. QGIS基础教程 (入门级)——下载安装、新建工程、加载数据
  6. 多路复用,讲的很明白
  7. 【济州岛新任市长支持优秀ICO项目】
  8. 介绍几种室内定位技术
  9. DB2数据库安装与配置
  10. 电路分析三------KCL,KVL,VCR方程