编程实现 9*9乘法表(循环嵌套的复习)。
def printLine(num): for i in range(1, num + 1): print("%d*%d=%d\t" % (i, num, i * num), end=" ") #end = ‘’实现分段 \t实现制表 print("")#实现换行 for num in range(1, 10): printLine(num)结果如下
用函数实现求100-200里面所有的素数。 提示:素数的特征是除了1和其本身能被整除,其它数都不能被整除的数
def prime(a,b): for i in range(a,b): flag = 0 for j in range(2,i-1): if i%j==0 : flag = 1 break if flag == 0: print(i) prime(100,200)结果如下
请用函数实现一个判断用户输入的年份是否是闰年的程序。 提示:能被4整除,但是不能被100整除的年份或者能被400整除的年份.
year = int(input('input year:')) def leapYear(year): if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): print("%s是闰年" % (year)) else: print("%s不是闰年" % (year)) leapYear(year)用函数实现输入某年某月某日,判断这一天是这一年的第几天?闰年情况也 考虑进去。 time = input(“请输入年月日:(以-分割)”) new_time = time.split(’-’) year = int(new_time[0]) month = int(new_time[1]) day = int(new_time[2])
# 判断是否闰年 def leapYear(year): if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return 28 else: return 29 def lenDay(): month2 = leapYear(year) lenMonth = [31, month2, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] if month == 2 and (0 < day <= month2): day_num = sum(lenMonth[:month - 1]) + day return day_num elif (month==1 or month==3 or month==5 or month==7 or month==8 or month==10 or month==12) and (0 < day <= month2): day_num = sum(lenMonth[:month - 1]) + day return day_num elif (month==4 or month==6 or month==9 or month==11) and (0 <day <= 30): day_num = sum(lenMonth[:month - 1]) + day return day_num else: print('请输入正确的时间!') print(lenDay())结果如下:
题目需求:对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:
f(13) = 1**2 + 3**2 = 10 f(207) = 2**2 + 0**2 + 7**2 = 53下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,且k*f(n)=n 输入: 第一行包含3个正整数k,a, b, k>=1, a,b<=10**18, a<=b; 输出:输出对应的答案; 范例: 输入: 51 5000 10000 输出: 3
def f(n): #先把数字转换成字符串 n=str(n) #计算字符串中每个数的平方 sum = 0 for item in n: sum +=int(item) ** 2 return sum #接受变量k,a,b s = input('input:') #存储整型k,a,b list = [] for item in s.split(): list.append(int(item)) k,a,b=list #判断是否满足条件 count=0 for i in range(a,b+1): if k*f(i) == i: count += 1 print(count)结果如下:
题目描述:给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输 入值小于1000。 如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) 输入描述: 输入包括一个整数n,(3 ≤ n < 1000) 输出描述: 输出对数 示例1 : 输入: 10 输出: 2
def getPrime(num): #判断一个数是不是质数 for i in range(2,num): if (num%i) == 0: return False return True def count_sumprime(num): prime_list = [] for i in range(2,num): if getPrime(i)== True: prime_list.append(i) #记录2到num-1区间所有的质数 counts = 0 for n1 in prime_list: if (num - n1) in prime_list and n1 <= (num - n1): counts += 1 return counts if __name__ == '__main__': number = int(input()) print (count_sumprime(number))结果如下: