Python程序代码

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))