每日总结
review
本周思维导图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eoQDoFz3-1645362548051)(C:\Users\Asus\Pictures\Data Analysis Process\未命名文件(11)].png)
作业题关注
# 高阶题:输入任意一个正整数,求他是几位数?---最好看成循环while true 不断整除10为0即可
print('------------')
num=0
count=0
while True:
num//=10
count+=1
if num==0:
break
print(count)
# 判断指定的数是否是素数(素数就是质数,即除了1和它本身以外不能被其他的数整除的数)
*用循环for-range是为了把每一个数都取出来,再判断:如果在某个范围内能被其他数整除,那么它就一定不是素数这边的else要放在break前面是因为break-else用法所致,要确保有break后仍有内容输出
num=35
for x in range(2,num):
if num%x==0:
print('不是素数')
break
else:
print('是素数')
# 输出9*9口诀。 程序分析:分行与列考虑,共9行9列,i控制行,j控制列。
# print放在当前位置表示,print是在第一个for那儿缩进,意思是,打印一次第一组里的元素,就print空一次格.而第一组for本来就是用来控制行的.
for i in range(1,10):
for j in range(1,i+1):
result=i*j
if result<10:
print(i,'x',j,'=', result, ' ',end=' ',sep='')
print(i,'x',j,'=', result, end=' ',sep='')
print('')
new
1.while语句
原理满足条件后还一直循环判断,直到遇到不符合条件才会结束
while 条件:
循环体
其他语句
# 使用while循环打印5遍 'hello world!'
a = 0
while a < 5:
print('hello world!')
a += 1
while 和 for循环的对比
# 输入一个整数,打印0~x之间所有的偶数
x = int(input('整数:'))
for i in range(0, x + 1, 2):
print(i)
*控制循环的方法:条件需要一开始为True,循环n次后为False结束循环。先定义一个为0的变量(0次),条件写<几次,每次让它加1,最后再print(位置放进循环体里)
*执行过程:先判断条件为
*特殊情况:1.如果条件一直都为True,则陷入死循环。退出死循环可以用break函数 2.如果一开始就为False,则一开始就结束
两重循环的规则:一层循环取出一个时,第二层循环会全部取出
2.循环关键字
-
continue:结束一次循环(执行循环体的时候如果遇到continue当次循环结束,直接进入下次循环)
-
break:执行循环体时如果遇到break就不会再循环了,只输出所有结果一次.且不会执行break后面其他任何操作
# 随机产生一个0~100的随机数,玩家输入数字,输入的数和产生的数相等,游戏结束!如果不相等给出'大了'或者'小了'的提示 from random import randint num=randint(0,100) while True: value=int(input('请输入一个(0-100)的随机数:')) if value > num: print('大了') elif value < num: print('小了') else: print('猜中了!太棒了!') break
3.关于关键字else:
- else的存在不会影响原循环的执行
- 如果循环是因为遇到break而结束就不会执行.else是为了检验break而存在(理解)
str1 = '81283472'
# 判断字符串是否是存数字字符串
for x in str1:
if not '0' <= x <= '9':
print(str1, '不是纯数字字符串')
break
else:
print(str1, '是纯数字字符串')
4.三目运算符
***语法: 值1 if 表达式 else 值2
#有明确的值
a=16
result=18 if a>17 else a
print(result)
# 含有明确值的表达式例题:如果大于10让a加1,否则让a-1
a=18
result=a+1 if a<10 else a-1
print(result)
作业
基础题
第一周作业
一、选择题
-
下列变量名中不合法的是?(C)
A. abc
B. Npc
C. 1name
D ab_cd
-
下列选项中不属于关键字的是?(C)
A. and
B. print
C. True
D. in
-
下面哪个选项对应的代码写法是正确的?(C)
A.
print('Python') print('新手村')
B.
print('Python') print('新手村')
C.
print('Python') print('新手村')
D.
print('Python''新手村')
-
下面选项中能打印出50的是?(B)
A.
print('100 - 50')
B.
print(100 - 50)
-
关于引号,下面选项中使用正确的是?(D)
A.
print('hello)
B.
print("hello')
C.
print(“hello”)
D.
print("hello")
二、编程题
-
写代码在控制台打印
good good study, day day up!
print('good good study, day day up!') #结果 good good study, day day up!
-
写代码在控制台打印5次
you see see, one day day!
for x in range(5): print('you see see, one day day!') # you see see, one day day! you see see, one day day! you see see, one day day! you see see, one day day! you see see, one day day!
-
写代码打印数字 11、12、13、… 21
for x in range(11,22): print(x) # 11 12 13 14 15 16 17 18 19 20 21
-
写代码打印数字 11,13,15,17,…99
for x in range(11,100): print(x) #
-
写代码打印数字:10、9、8、7、6、5
for x in range(10,4,-1): print(x) # 10 9 8 7 6 5
-
写代码计算:1+2+3+4+…+20 的和
sum=0 for x in range(21): sum+=x print(sum) # 210
-
写代码计算100以内所有偶数的和
result=0 for x in range(2,100,2): result+=x print(result) # 2450
-
写代码统计100~200中个位数是3的数的个数
count=0 for x in range(103,193): if x%10==3: count+=1 print(count) # 9
-
写代码计算
2*3*4*5*...*9
的结果result=1 for x in range(2,10): result*=x print(result) # 362880
-
输入一个数,如果输入的数是偶数就打印
偶数
否则打印奇数
value=int(input('输入一个数:')) if value%2: print('奇数') else: print('偶数') # 输入一个数:7 奇数
-
统计1000以内能被3整除但是不能被5整除的数的个数。
count=0
for x in range(3,1000,3):
if x%5!=0:
count+=1
print(count)
#
267
高阶题
-
判断101-200之间有多少个素数,并输出所有素数。
count=0 for x in range(101,199): if not x%2==0: count+=1 print(x) print(count) # 101 103 105 107 109 111 113 115 117 119 121 123 125 127 129 131 133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 49
-
求整数1~100的累加值,但要求跳过所有个位为3的数。
sum=0 for x in range(1,101): if not x%10==3: sum+=x print(sum) # 4570
-
写程序计算 n 的阶乘 n! 的结果
n=10 for x in range(1,11): n*=x n+=n print(n) # 37158912000
-
求1+2!+3!+…+20!的和
sum=1 result=0 for x in range(1,21): sum*=x result+=sum print(result) # 2561327494111820313
个位为3的数。
sum=0
for x in range(1,101):
if not x%10==3:
sum+=x
print(sum)
#
4570
-
写程序计算 n 的阶乘 n! 的结果
n=10 for x in range(1,11): n*=x n+=n print(n) # 37158912000
-
求1+2!+3!+…+20!的和
sum=1 result=0 for x in range(1,21): sum*=x result+=sum print(result) # 2561327494111820313