基础题
1,打印100以内7的倍数
for i in range(1, 101):
if i % 7 ==0:
print(i)
2,打印100以内的奇数
for i in range(1,101,2):
print(i)
3,打印100以内所有偶数的和
老师的方法:
print(sum(range(0,101,2)))
方式一:
num = 1
sum = 0
while num <= 100:
if num % 2 == 0:
sum += num
num += 1
print(sum)
方式二:
sum = 0
for i in range(0, 101, 2):
sum += i
print(sum)
4,判断一个数是不是合数。(指自然数中除了能被1和本身整除外,还能被其他的数整除(不包括0)的数。)
老师的方法
num=int(input("请输入一个数字:"))
for i in range(2,num):
if num % i ==0:
print("合数")
break
else:
print("不是合数")
自己的方法:
num = int(input("请输入一个数:"))
i = 2
while num > i:
if num % i == 0:
print(num, "是合数")
break
i += 1
else:
print(num, "不是合数")
5,判断一个数是不是素数。(除了1和它本身以外不再有其他的除数整除。)
num = int(input("请输入一个数字:"))
t = 2
while num > t:
if num % t == 0:
print(num, "不是是素数")
break
t += 1
else:
print(num, "是素数")
6,求整数1~100的累加值,但要求跳过所有个位为3的数。
sum = 0
for i in range(1, 101):
if i % 10 == 3:
continue
sum += i
print(sum)
7, 一个新入职,月工资为2000元的员工,每年涨当年工资5%,20年后的月工资是多少?
print(2000*(1+0.05)**20)
8, 山上有一口缸可以装50升水,现在有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。 问:小和尚要挑几 次水才可以把水缸挑满?通过循环解决这个问题。
sum=0
for i in range(15,50,5):
sum+=1
print(sum)
9, 打印100–200之间所有能被3或者7整除的数
for i in range(100, 201):
if i % 3 == 0 or i % 7 == 0:
print(i)
10, 计算10的阶乘(12345678910, n的阶乘:12……*n)
import math
print(math.factorical(10))
11, 计算1+3+5+...+99的和
老师的方法:
print(sum(range(1,100,2)))
自己的方法:
sum = 0
for i in range(1, 100, 2):
sum += i
print(sum)
12, 输出20~80之间能被3整除的整数, 每行5个
老师的方法
count = 0
for i in range(20, 81):
if i % 3 == 0:
print(i, end=" ")
count += 1
if count % 5 == 0:
print()
print()
自己的办法
j = 0
for i in range(20, 81):
if i % 3 == 0:
print(i, end=" ")
j = j + 1
if j == 5:
print()
j = 0
13, 打印1000~2000年中所有的闰年, 每行4个
老师的方法
count=0
for i in range(1000,2001):
if (i % 4==0 and i % 100 !=0) or i % 400==0:
print(i,end=" ")
count+=1
if count % 4==0:
print()
print()
自己的方法
h = 0
for i in range(1000, 2001):
if (i % 4 == 0 and i % 100 != 0) or i % 400 == 0:
print(i, end='\t')
h += 1
if h == 4:
print()
h = 0
14, 输出99乘法表 ''' 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81 '''
for i in range(1,10):
for j in range(1,i+1):
print(f"{j}*{i}={i*j}",end="\t")
print()
字典题目
'''
-
声明一个字典保存一个学生的信息,学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) stu_info = {'name': '张三', 'age': 18, 'score': 88, 'tel': 18866669999, 'sex': '不明'}
list1= {'name': '张三', 'age': 18, 'score': 88, 'tel': 18866669999, 'sex': '不明'}
-
声明一个列表,在列表中保存6个学生的信息(6个(题1)中的字典)
score:表示成绩 低于60分表示不及格
age: 表示年龄 小于18表示未成年
tel: 表示手机号
(1) 统计不及格学生的个数 (2) 打印不及格学生的名字和对应的成绩 (3) 统计未成年学生的个数 (4) 打印手机尾号是8的学生的名字 (5) 打印最高分和对应的学生的名字 (6) 删除性别不明的所有学生(选做) (7) 将列表按学生成绩从大到小排序(难,选做) 提示: 方式一: 排序算法 方式二: sort(key=)
(1)统计不及格学生的个数 list = [ {'name': '张三', 'age': 18, 'score': 50, 'tel': 18866669999, 'sex': '不明'} {'name': '李四', 'age': 16, 'score': 88, 'tel': 18866669998, 'sex': '女'} {'name': '张大爷', 'age': 17, 'score': 48, 'tel': 18866669999, 'sex': '男'} {'name': '陈一军', 'age': 61, 'score': 85, 'tel': 18866669998, 'sex': '男'} {'name': '陈二军', 'age': 49, 'score': 49, 'tel': 18866669999, 'sex': '女'} {'name': '陈三军', 'age': 49, 'score': 96, 'tel': 18866669999, 'sex': '不明'} ] num = 0 for i in list: if i['score'] < 60: num += 1 print(num) (2)打印不及格学生的名字和对应的成绩 for j in list: if j['score'] < 60: print(j["name"],j["score"],end=" ") (3)统计未成年学生的个数 num = 0 for k in list: if k['age'] < 18: num += 1 print(num) (4) 打印手机尾号是8的学生的名字 for g in list: if g['tel'] % 10 == 8: print(g["name"]) (5) 打印最高分和对应的学生的名字 #假设第一个学生的成绩是最高分.max_score max_score=list[0]['score'] for stu in list: if stu['score']>max_score: max_score=stu['score'] print("最高分是:",max_score) for stu in list: if stu['score']==max_score: print("最高分学生的名字是:",stu['name']) # (6) 删除性别不明的所有学生(选做) #第一种方式: i = 0 while i < len(list): if list[i]['sex'] == '不明': list.pop(i) i-=1 i+=1 print(list) # 第二种方式: list1 = [] for stu in list: if stu['sex'] != "不明": list1.append(stu) print(list1) (7) 将列表按学生成绩从大到小排序(难,选做) # 定义一个函数,返回每个学生的成绩 def pai(ele): return ele['score'] # return表示返回 list.sort(reverse=True, key=pai) # key 表示排序的依据(成绩) for stu in list: print(stu)