Python —— 4 习题练习
1. 华氏温度转摄氏温度
1 # 编写一个函数将华氏温度转换为摄氏温度 公式为C = (F-32)*5/9 2 def func1(): 3 f = int(input("请输入华氏温度:")) 4 return (f-32) * 5/9 5 c = func1() 6 print("摄氏温度:%dC°" % c)
2. 求三位数的素数
1 # 编写一个函数,通过调用该函数求出所有3位数的素数 2 import math 3 def func2(): 4 for i in range(100, 1000): 5 flag = True 6 for j in range(2, int(math.sqrt(i))+1): 7 if i % j == 0: 8 flag = False 9 break 10 if flag == True: 11 print(i, end=" ", flush=True) 12 s = func2()
3. 编写一个函数,求满足以下条件的最大的n值:1^2+2^2+3^2+4^2+...+n^2 < 1000
1 def func3(): 2 su = 1 3 for n in range(1, 100): 4 su *= n 5 if su > 1000: 6 max_n = n 7 return max_n 8 max_n = func3() 9 print("最大n的值:%d" % (max_n-1))
4. 编写一个函数multi(),参数个数不限,返回所有参数的乘积
1 def multi(*n): 2 s = 1 3 for i in n: 4 s *= i 5 return s 6 s = multi(1, 2, 3, 4, 5) 7 print("参数的乘积:%d" % s)
5. 编写一个函数,功能是求两个正整数m和n的最大公约数
1 def func5(m, n): 2 if m > n: 3 r = n 4 else: 5 r = m 6 for i in range(1, r+1): 7 if (m % i == 0) and (n % i == 0): 8 gys = i 9 return gys 10 gys = func5(12, 6) 11 print(gys)
6. 编写将十进制转化为二进制的函数
1 def func6(n): 2 b = " " 3 while n != 0: 4 b = str(n % 2)+b 5 n //= 2 6 return b 7 n = int(input("请输入一个十进制数:")) 8 b = func6(n) 9 print("%d的二进制数:%s" % (n, b))
7. 编写一个判断字符串是否是回文的函数。回文就是一个字符串从左到右和从右到左是完全一样的
1 def func7(str): 2 e = len(str) 3 for i in range(e+1): 4 if (str[i] == str[e-1]) and i < e-1: 5 return True 6 else: 7 return False 8 return True 9 s = str(input("请输入字符串:")) 10 if func7(s): 11 print("%s是回文" % s) 12 else: 13 print("%s不是回文" % s)
8. 编写一个函数,实现统计字符串中单词的个数并返回
1 def func8(str): 2 count = 0 3 for i in str: 4 if 'a' <= i <= 'z' or 'A' <= i <= 'Z': 5 count += 1 6 return count 7 s = str(input("请输入一个字符串:")) 8 count = func8(s) 9 print("字符串中单词的个数:%d" % count)