开始看到多⾏输⼊,以为要⼀次性将所有的案例全部输⼊ while True:
try:
strall = input().split('\n')
for strIn in strall:天下故事会2012
strIn_change = strIn[2:]
num =0
cal=0
for i in strIn_change[::-1]:
if i >='A' and i <='Z':
num +=((ord(i) - ord('A')) +10)* (16**cal)
cal+=1
else:
num += int(i)* (16 ** cal)
cal+=1
print(num)
except:
break
注意:进制转化为Unicode码
再进⾏相减
直接⽤format() 去转化,是不⾏的,可能浮点数的计算涉及到了⼀些近似运算
num=input()
indexnum = num.index('.')
num_b = num[:indexnum]
num_after = num[(indexnum+1):]
if int(num_after[0:1])>=5:
print(int(num_b)+1)
else:
print(int(num_b))
其实这个思路不难,⾃⼰畏惧了
def find_factors(number):
"""
Print prime factors.
:param number: <int> number
:return: <None>dtfd
"""
# 初始化is_prime变量为True,表⽰是质数 is_prime = True
# 查质数因⼦
北邮ipv6
for i in range(2, int(number ** 0.5 + 2)): # 适当增加
if number % i ==0:
is_prime = False
呼伦贝尔学院学报
print(str(i), end=" ")
find_factors(int(number / i))# 递归继续查
break
# 如果输⼊的数字本⾝就是质数,则直接输出(这也是递归出⼝)if is_prime:
print(str(number), end=" ")# 最后⼀⾏
return
try:
# 接收输⼊的整数
国际能源机构
number = int(input())
if number <=0:
raise Exception # 这啥意思??抛出异常
# 调⽤⾃定义的find_factors函数,打印结果
find_factors(number)
# 对于程序中抛出的任何异常,捕获后程序直接结束
except Exception as e:
exit()
凭着记忆去写⼀遍,还是容易出错
def find_factor(num):
isN = True # 每调⽤⼀次都需要
for i in range(2, int(num**0.5 +2)):
if num % i ==0: # 如果说为4 的话,其实在2这个就除尽了 isN = False
print(str(i),end=' ')
find_factor(int(num/i))
break
if isN:
print(str(num) ,end=' ')
return
动物的运动方式
try:
num = int(input())
find_factor(num)
except:
exit()