day5 知识点总结
1、if 嵌套
# 练习:如果一个数是奇数就打印奇数,否则打印偶数,如果能被4整除打印4的倍数
# 3 -> 奇数
# 2 -> 偶数
# 8 -> 偶数、4的倍数
num = int(input('请输入一个数字:'))
if num % 2 == 0:
if num % 4 == 0:
print('偶数、4的倍数')
else:
print('偶数')
else:
print('奇数')
2、三目运算符
针对数据2选1的时候简单的写法
1、语法
值1 if 表达式1 else 值2 (python) == 表达式?值1:值2 (c语言)
运算规则:如果表达式结果为True,整个运算的结果就说值1,否则就是值2
# 示例1
# a如果大于10result结果为0,否则result结果是1
# 方法1:
a = int(input('请输入一个数字:'))
result = 0 if a > 10 else 1
print(result)
# 方法2:
a = int(input('请输入一个数字'))
if a > 10:
result = 0
else:
result = 1
print(result)
# 示例2
# 需求:如果a大于10让a加1,否则让a减1(用三目运算符)
a = int(input('请输入一个数字'))
result += 1 if a > 10 else -1
print(a)
3、while循环
1、语法
while 条件语句:
循环体
2、说明
while - 关键字;固定写法
条件语句 - 可以是任何有结果的表达式(赋值语句除外)
: - 固定写法
循环体 - 和while保持一个缩进的一条或多条语句;循环体就说会重复执行的代码
3、执行过程
执行过程:
先判断条件语句是否为True,如果是True就执行循环体;执行完循环体再判断条件语句是否为True,如果是True就继续执行循环体;...以此类推,如果条件语句是False循环就结束
# 使用while循环打印5次'朴彩英'
a = 0
while a < 5:
print('朴彩英')
a += 1
"""
执行过程:
a = 0
第1次:while 0 < 5 -> while True -> print('hello world!); -> a+=1:a=1
第2次:while 1 < 5 -> while True -> print('hello world!); -> a+=1:a=2
第3次:while 2 < 5 -> while True -> print('hello world!); -> a+=1:a=3
第4次:while 3 < 5 -> while True -> print('hello world!); -> a+=1:a=4
第5次:while 4 < 5 -> while True -> print('hello world!); -> a+=1:a=5
当a = 5 ,while False,循环结束
"""
4、for循环和while循环的选择
如果循环次数确定使用for;如果循环次数不确定就用while
(凡是可以用for解决的问题都有for,for解决不了的才用while)
4、循环关键字
continue和break - 只在循环体中使用
1、continue
1)作用:结束一次循环(执行循环体的时候如果遇到continue当前循环马上结束,直接进入下一次循环)
# 示例
for x in range(3):
print('朴彩英')
continue
print('blink')
# 打印结果时,因为continue,朴彩英会打印3次,而blink不会打印
2、break
1)作用:结束整个循环(执行循环体时如果遇到break,整个循环直接结束)
2)语法:
while True:
需要重复的操作
if 循环结束的条件:
break
# 示例:给一个初始密码,请输入密码,如果输入的密码不对,则会输出请输入密码,如果输入的密码正确,则输出'登录成功'
password = '12345'
while True:
value = int(input'请输入你的密码:')
if value == password:
break
print('登录成功')
# 练习:写一个猜数字游戏
# 要求:随机产生一个0~100的随机数,玩家输入数字,如果和产生的数字相等,游戏结束!如果和产生的数字不相等,给出大了或者小了的提示,并且求最后一共输入了多少次
# 产生随机数的代码如下:
"""
from random import randint
num = randint(0,100)
"""
from random import randint
num = randint(0,100)
count = 0
while True:
value = int(input('请输入你的数字:'))
count += 1
if value > num:
print('大了!')
elif value < num:
print('小了!')
else:
break
print('恭喜你猜对啦!',count)
3、else关键字
1、完整的for循环
for 变量 in 序列:
代码段
else:
代码段
2、完整的while循环
while 条件语句:
循环体
else:
代码段
3、关于else
1)else的存在不会影响原循环的执行
2)else后面的代码会在循环结束后执行(如果循环时因为遇到break而结束,else后面的代码就不会执行)
# 示例:判断一串字符是不是纯数字字符串
str1 = input('请输入你的字符串:')
for x in str1:
if not '0' <= x <= '9':
print(str1,'不是纯数字字符串')
break
else:
print(str1,'是纯数字字符串')
第一周作业
一、选择题
-
下列变量名中不合法的是?(C)
A. abc
B. Npc
C. 1name
D ab_cd
-
下列选项中不属于关键字的是?(B)
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!
# 1. 写代码在控制台打印 `good good study, day day up!` print('good good study,day day up!')
-
写代码在控制台打印5次
you see see, one day day!
# 2. 写代码在控制台打印5次 `you see see, one day day!` a = 0 while a <5: print('you see see, one day day') a += 1
-
写代码打印数字 11、12、13、… 21
# 3. 写代码打印数字 11、12、13、... 21 for x in range(11,22): print(x)
-
写代码打印数字 11,13,15,17,…99
# 4. 写代码打印数字 11,13,15,17,...99 for y in range(11,100,2): print(y)
-
写代码打印数字:10、9、8、7、6、5
# 5. 写代码打印数字:10、9、8、7、6、5 for x in range(10,4,-1): print(x)
-
写代码计算:1+2+3+4+…+20 的和
# 6. 写代码计算:1+2+3+4+...+20 的和 result = 0 for x in range(1,21): result += x print(result)
-
写代码计算100以内所有偶数的和
# 7. 写代码计算100以内所有偶数的和 result = 0 for x in range(0,101): if x % 2 == 0: result += x print(result)
-
写代码统计100~200中个位数是3的数的个数
# 8. 写代码统计100~200中个位数是3的数的个数 count = 0 for x in range(10,201): if x % 10 == 3: count += 1 print(count)
-
写代码计算
2*3*4*5*...*9
的结果# 9. 写代码计算`2*3*4*5*...*9`的结果 result = 1 for x in range(2,10): result *= x print(result)
-
输入一个数,如果输入的数是偶数就打印
偶数
否则打印奇数
# 10. 输入一个数,如果输入的数是偶数就打印`偶数`否则打印`奇数` num = int(input('请输入一个数字:')) if num % 2: print('奇数') else: print('偶数')
-
统计1000以内能被3整除但是不能被5整除的数的个数。
# 11. 统计1000以内能被3整除但是不能被5整除的数的个数。 count = 0 for x in range(3,1000,3): if x % 5 != 0: count += 1 print(count)