1、输入一个大于100的正整数,输出这个整数的最小质因数。输入无效数据时要求重新输入
程序执行效果:
输入一个大于100的正整数:-221
输入错误!
输入一个正整数:221
221的最小质因数为13
2、输入一个字符串,输出这个字符串所有汉字(假定仅含常用汉字)的区位码。
程序执行效果:
输入字符串:abc天才就是入迷good123
天=4476才=1837就=3045是=4239入=4075迷=3552
1
def is_prime(num):
if num < 2:
return False
elif num == 2:
return True
elif num % 2 == 0:
return False
else:
for i in range(3, int(num ** 0.5) + 1, 2):
if num % i == 0:
return False
return True
while True:
num = input("输入一个大于100的正整数:")
try:
num = int(num)
except ValueError:
print("输入错误!请重新输入一个正整数。")
continue
if num <= 100:
print("输入错误!请重新输入一个大于100的正整数。")
else:
for i in range(2, num+1):
if num % i == 0 and is_prime(i):
print("{}的最小质因数为{}.".format(num, i))
break
break
2
import re
def get_unicode(char):
assert(len(char) == 1)
val = ord(char)
if val >= 0x4E00 and val <= 0x9FA5:
return str(hex(val))[2:].upper()
return None
line = input("输入字符串:")
words = re.findall('[\u4E00-\u9FA5]', line)
result = [get_unicode(w) for w in words]
print(''.join('{}={}'.format(w,get_unicode(w)) for w in words))