''' 2.按公式:C= 5/9×(F-32) ,将华氏温度转换成摄氏温度,并产生一张华氏 0~300 度与对应的摄氏温度之间的对照表 (每隔 20 度输出一次) ''' for f in range(0, 301, 20): c = 5 / 9 * (f - 32) print('华氏{}度=摄氏{:.2f}度'.format(f, c)) # 输出保留两位小数
''' 3.角谷静夫是日本的一位著名学者,他提出了一个猜想(称为角谷猜想):对于一个正整数 n,若为偶数则除以 2, 若为奇数则乘以 3 加 1,得到一个新的数后按照之前的两条规则继续演算,若干次后得到的结果必然为 1。 输入任一正整数,输出演算过程。 ''' n = eval(input('请输入一个正整数:')) while n != 1: # 当 n 不断迭代后等于 1 时停止循环 if n % 2 == 0: print("{}/2={}".format(n, n // 2)) n = n//2 else: print("{}*3+1={}".format(n, 3 * n + 1)) n = n*3+1
''' 4.输入 n,用递推法(例如前项之间的关系推导后项,本题为一重循环)编程求1+2!+3!+...+n!的和并输出。 ''' n = int(input('输入一个整数:')) s = term = 1 for i in range(2, n+1): term *= i s += term print(s)
''' 5.编程求解 1-4 这 4 个数字可以组成多少个无重复的三位数,按从小到大的顺序输出这些数字。 ''' for i in range(1, 5): for j in range(1, 5): for k in range(1, 5): if i != k and i != j and j != k: print(100*i+10*j+k) # 循环的方式决定了数字的从小到大顺序
''' 6.验证命题:如果一个三位整数是 37 的倍数,则这个整数循环左移后得到的另两个 3 位数也是 37 的倍数。 (注意验证命题的结果输出方式,只要输出命题为真还是假即可,而非每一个三位数都有一个真假的输出) ''' for num in range(100, 1000): if num % 37 == 0: num_new_1 = num % 100 * 10 + num // 100 num_new_2 = num % 10 * 100 + num // 10 if num_new_1 % 37 != 0 or num_new_2 % 37 != 0: print("命题为假.") break print('这样的三位数是{}'.format(num)) else: print("命题为真")
for num in range(1, 1001): s = 0 # 求出非本身的所有因子和 for j in range(1, num): if num % j == 0: s += j if s == num: # 判断是否等于本身 print('完数:{}='.format(num), end='') # end='' 打印后不换行 for j in range(1, num): if num % j == 0: print(j, end='') if num % j == 0 and j < num//2: # 控制 '+ '号的打印 print('+', end='') print() # 换行下一个完数
0 评论 最近
没有评论!