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 )。
这几道题怎么用指定的函数解决呢?我会的方法不太能完全搞定
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
threenewbee 2023-04-14 22:16关注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)本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录