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)
不知道你这个问题是否已经解决, 如果还没有解决的话: