- 0
- 0
- 约9.49千字
- 约 26页
- 2026-04-08 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年程序开发岗位面试题目详解
一、编程基础题(共5题,每题10分,总分50分)
题目1(10分)
题目:请编写一个函数,实现将任意进制数(2-16进制)转换为十进制数。要求不使用Python内置的int()函数转换,并处理非法输入。
答案:
python
defbase_to_decimal(number_str,base):
ifnot2=base=16:
return错误:进制数必须在2-16之间
digits=0123456789ABCDEF
decimal=0
power=0
从字符串末尾开始遍历
forcharinreversed(number_str):
ifchar.upper()notindigits[:base]:
return错误:输入包含非法字符
value=digits.index(char.upper())
decimal+=value(basepower)
power+=1
returndecimal
解析:
1.首先检查进制数是否在2-16之间
2.创建一个包含0-9和A-F的digits字符串,用于字符到数值的转换
3.从右向左遍历输入字符串,每个字符对应的十进制值=字符在digits中的位置×进制的幂次
4.注意
原创力文档

文档评论(0)