华为机试题:HJ108 求最小公倍数(python)
文章目录
- (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)相关推荐
- 华为机试题:求偶数个复数的平均值
题目描述 由实部和虚部组成,形如(a,bi)这样的数,称为复数. 通信系统中,通常用32bit数来表示复数(高16bit表示实部,低16bit表示虚部),如整数524295(16进制为0x0008 ...
- 华为电脑c语言总是错误,关于华为机试题求代码!解决方法
关于华为机试题求代码!!! n个字符串,1 如n=3 1.what is local bus? 2.this is local bus. 3.local bus is name sdhfj. 那么最长 ...
- 华为机试python编程题_牛客网华为机试题之Python解法
牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...
- 牛客网华为机试题(JavaScript)
最近在牛客网刷华为机试题,遇到了很多坑,记录: 每一道题目都经过自己实践验证 华为机试题 牛客网在javascript V8引擎下处理输入输出如下: 利用了readline()接收输入的每一行,多行处 ...
- 【牛客网】华为机试题(00、C++版本)
华为机试题,本来以为对一些基础的程序还是有点信心的:不过不练不知道,一练吓一跳.平时虽然也都码程序,但是一到机试题就各种乱七八的不适应.还是要加强一下练习. 1.字符串最后一个单词的长度 题目描述:计 ...
- 【牛客网-华为机试题目录】持续更新中
文章目录 博主精品专栏导航 华为机试题:HJ80 整型数组合并(python) 华为机试题:HJ76 尼科彻斯定理(python) 华为机试题:HJ73 计算日期到天数转换(python) 华为机试题 ...
- 华为机试题库+题解【C语言版】
文章目录 前言 1.字符串最后一个单词的长度[***] 描述 输入描述 输出描述 示例 解题代码 2.计算某字符出现次数[****] 描述 输入描述 输出描述 示例 解题代码 3. 明明的随机数[** ...
- 【华为机试题分析-C/C++】知识点分类总结
专栏地址:https://blog.csdn.net/super828/category_10825347.html 字符串 [华为机试题分析] 1 字符串最后一个单词的长度 [华为机试题分析] 2 ...
- 【华为机试题分析】 4 字符串分割
我的首发平台是公众号[CodeAllen],学习交流QQ群:736386324,本文版权归作者所有,转载请注明出处 [华为机试题分析] 4 字符串分割 #include <stdio.h> ...
- 华为机试题python版节选(基础编程题)
前言 自学python之后,可以借助这些企业招聘时的机考题目来锤炼一下实践能力.. 每道题含要点解析,是按照自己理解梳理的,多个答案的是结合自己的答案+网上的答案,不一定很严谨,请读者自行在编译器中调 ...
最新文章
- 利用jquery给指定的table动态添加一行、删除一行
- MVC基于角色权限控制--菜单展示
- EditText 不弹出软件键盘
- 73.JVM内存基础结构,参数分类,推荐的配置项,参数混用问题,常用工具,常用命令
- C++中字符型和整型的关系
- LeetCode 2119. 反转两次的数字
- 计组之总线:4、总线标准
- django模型的元数据Meta
- [转]NetBeans开发Applet方法实例学习
- ios学习笔记——对象归档
- Tensorflow中图像的预处理
- 单片机网关与linux网关区别,浅谈Linux的路由与网关
- word格式与pdf格式相互转换
- 数据结构(四)图 —— 编程作业 04 :哈利·波特的考试
- 项目管理练习1577628224
- 【代数】2007全国联赛 填空第二题 题解(韦达定理,分数裂项)
- 安装Pure-ftpd
- 移动硬盘linux读取失败,无法读取移动硬盘|无法识别的6种修复方法插图
- PS图层混合算法之四(亮光, 点光, 线性光, 实色混合)
- Linux脚本:Bash脚本看这一篇就够了