这几道题怎么用指定的函数解决呢?我会的方法不太能完全搞定

1、定义温度转换(摄氏度和华氏度之间转换)函数并在主程序中用while True循环,实现可反复转换,直到用户输入n退出。
2、键盘输入一个正整数x和输出(1,x)范围内的素数。要求先定义is_prime(n)判断素数。
3、输出1000以内反素数列表:如13是素数,反写是另一个数31,而31也是素数,则13是反素数。但回文素数不是反素数,因为反写之后是它本身而不是另一个数。这些值都是反素数:13 17 31 37 71 73 79 97 107 113 149……要求程序中导入问题3创建的模块,调用其中的素数判定函数。
4、匿名函数练习:在空格内填入匿名函数。程序功能:获取用户输入的整数n,以列表形式输出所有小于 n 的非负整数 i 的平方( 0 <= i < n )。

def celsius_to_fahrenheit(celsius):
    '''将摄氏度转换为华氏度'''
    fahrenheit = celsius * 9/5 + 32
    return fahrenheit

def fahrenheit_to_celsius(fahrenheit):
    '''将华氏度转换为摄氏度'''
    celsius = (fahrenheit - 32) * 5/9
    return celsius

while True:
    choice = input("请选择温度转换类型:\n1.摄氏度转华氏度\n2.华氏度转摄氏度\nn.退出\n")
    if choice == '1':
        c = float(input("请输入摄氏度:"))
        print("转换后的华氏度为:", celsius_to_fahrenheit(c), "°F\n")
    elif choice == '2':
        f = float(input("请输入华氏度:"))
        print("转换后的摄氏度为:", fahrenheit_to_celsius(f), "°C\n")
    elif choice.lower() == 'n':
        print("已退出程序")
        break
    else:
        print("输入无效,请重新选择。")

def is_prime(n):
    '''判断一个数字是否为素数'''
    if n < 2:
        return False
    for i in range(2, int(n/2)+1):
        if n % i == 0:
            return False
    return True

x = int(input("请输入一个正整数x:"))
print("在范围(1,", x, ")内的素数如下:")
for i in range(1, x+1):
    if is_prime(i):
        print(i, end=" ")
print()

from prime import is_prime

reverse_primes = []
for i in range(1, 1001):
    if is_prime(i):
        reverse_i = int(str(i)[::-1])
        if i != reverse_i and is_prime(reverse_i):
            reverse_primes.append(i)
print("1000以内的反素数如下:")
print(reverse_primes)


n = int(input("请输入一个正整数n:"))
squares = list(map(lambda i: i**2, range(n)))
print("小于", n, "的非负整数的平方如下:")
print(squares)
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^