基础题
-
根据输入的成绩的范围打印
及格
或者不及格
。result = int(input('请输入您的成绩:')) if result >= 60: print('Congratulation!!!您及格了') else: print('害,还要努力呀,您不及格')
-
根据输入的年纪范围打印
成年
或者未成年
,如果年龄不在正常范围内(0~150)打印这不是人!
。age = int(input('请输入您的年纪:')) if 0 <= age < 18: print('您未成年哦,回去读书') elif 18 <= age <= 150: print('欢迎光临,您成年了') else: print('对不起,这不是人,不招待异类')
-
输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息
a-b的结果不是奇数
方法1: a = int(input('请输入整数a:')) b = int(input('请输入整数b:')) result = a - b if result % 2 != 0: print('该输出结果是:{}(奇数)'.format(result)) else: print('a-b结果不是奇数') 方法2: result = 'a-b的结果不是奇数' if (a-b) % 2 == 0 else a-b print(a-b)
-
使用for循环输出 0~100内所有3的倍数。
for i in range(3,100,3): print(i)
-
使用for循环输出100~200内个位数或者十位数能被3整除的数。
for i in range(100,201): units = i % 10 % 3 tens = i % 100 // 10 % 3 if (units == 0 and units != 0) or (tens == 0 and tens != 0): print(i)
-
使用for循环统计100~200中十位数是5的数的个数
count = 0 for x in range(100,201): if x % 100 // 10 == 5: count += 1 print(count)
-
使用for循环打印50~150中所有能被3整除但是不能被5整除的数
for y in range(50,151): if y % 3 == 0 and y % 5 != 0: print(y)
-
使用for循环计算50~150中所有能被3整除但是不能被5整除的数的和
num = 0 for y in range(50,151): if y % 3 == 0 and y % 5 != 0: num+=y print(num)
-
统计100以内个位数是2并且能够被3整除的数的个数。
counts = 0 for m in range(101): if m % 10 == 2 and m % 3 == 0: counts += 1 print(counts)
进阶题
-
输入任意一个正整数,求他是几位数?
注意: 这儿不能使用字符串,只能用循环
num = input('请输入一个任意正整数:') count = 0 for i in num: count += 1 print('该数是一个{}位数'.format(count)) 方法2: while True: num //= 10 count += 1 if num == 0: break print(count)
-
打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字三方和等于该数本身。例如:153是
3个水仙花数,因为
1³ + 5³ + 3³
等于 153。for i in range(100,1000): if (i // 100) ** 3 + (i % 100 // 10) ** 3 +(i % 10) ** 3 == i: print(i)
-
判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
from math import sqrt def is_prime(n): if n == 1: print('该数不是素数') for i in range(2,int(sqrt(n))+1): if n % i == 0: print(f'{n}不是素数') else: print(f'{n}是素数') is_prime(7) 方法2: num = int(input('请输入一个整数:')) count = 0 for i in range(2,num): if num % i == 0: count += 1 print('不是素数') break if count == 0: print('{}是素数'.format(num)) 方法3: num = int(input('请输入一个整数:')) count = 0 for i in range(2,num): if num % i == 0: print('{}不是素数',format(num)) break else: print('{}是素数'.format(num))
-
输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
for row in range(1,10): for col in range(1,row+1): print(col,'x',row,'=',col * row,end=' ') print() for i in range(1,10): for j in range(1,i+1): k = i * j print('{}*{}={}'.format(i,j,k),end = '\t') print()
-
这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?(可以直接使用穷举法)
for x in range(1,34):
for y in range(1,51):
z = 100 - x - y
if z % 2 != 0:
continue
if x * 3 + y * 2 + z / 2 == 100:
print('{}匹大马,{}匹中马,{}匹小马'.format(x,y,z))