Grundkenntnisse-5, Schleifenanweisung
一、条件判断语句
1.1 语法:
- if 条件判断:(冒号一定要写,否则报错)
代码块
1.2 实例:
- 代码流程讲解:
1. input()函数接受一个标准输入数据,返回为字符串类型,通过int()函数强制转义成为整数类型,赋值给str1。
2. str1进入if判断函数,通过人为主动输入0 or 1 or 2
3. print()函数打印出相应数据。
二、if-else语句
2.1 语法:
- if 条件表达式:
代码块
else:
代码块
2.2 实例:
- 代码流程讲解:
- input()函数接受一个标准输入数据,返回为字符串类型,通过int()函数强制转义成为整数类型,赋值给str1。
- str1进入if判断函数,通过认为输入0 or 1.
- 当输入0时,代码进入第一条件,print()函数输出相应数据。
- 当输入其他数字时,代码进入else:(第二条件),print()函数输出相应数值。
三、if-elif-else语句
- if-elif-else语句就是if-else语句的一种演化。其本身的作用相同,语法格式相同,条件运行模式相同。
3.1 语法:
- if 条件表达式;
代码块
elif 条件表达式:
代码块
else:
代码块
3.2 实例:
四、input()函数
4.1 语法:
- 变量 = input(需要返回的数据)
代码块
4.2 示例:
s = input('请输入:')
print(type(s),s)
s = int(s)
print(type(s),s)
五、while语句
5.1 语法:
while 条件表达式:
代码块
else:
代码块
5.2 实例:
i = 0
while i < 10:
i += 1
print(i)
else:
print('循环结束')
- while 语句三要素:
- 1.设置初始值
- 2.设置条件判断
- 3.变量做自增长
- 例题:
求100以内的所有偶数之和
推理过程:
1.首先拿到1-100的数
2. 取偶数
3. 相加
代码 1:
i = 0
r = 0
while i <100:
i += 1
# print(i)
if i % 2 == 0:
r += i
print(r)
代码 2:
i = 0
r = 0
while i < 100:
i += 2
r += i
print(r)
六、while循环嵌套
6.1 语法:
- while语法可以用于多重嵌套
即:多个while语句组合,或者if语句组合
注:应注意多重组合的多重缩进
6.2 实例:
i = 0
while i < 5:
j = 0
while j < 5:
print('*', end='') # end使print()函数换行失效
j += 1
print()
i += 1
- 例题:
"""
*
**
***
****
*****
"""
代码1 :
i = 0
while i < 5:
j = 0 # 重新赋值为0
while j < i + 1:
print('*', end='')
j += 1
i += 1
print()
- 例题2:
"""
*****
****
***
**
*
"""
代码1:
i = 0
while i < 5:
j = 0 # 重新赋值为0
while j < 5 - i:
print('*', end='')
j += 1
i += 1
print()
七、进阶及作业
7.1 进阶:
代码continue与break
- continue:跳过当前(条件表达式)循环
- break:停止当前循环的以下所有循环
- continue代码实例:
i = 0
while i < 6:
i += 1
if i == 3:
continue # 跳过当前循环(if i == 3:)
print(i)
else:
print('执行完毕')
- break代码实例:
i = 0
while i < 6:
i += 1
if i == 3:
break # 停止以下所有语句
print(i)
else:
print('执行完毕')
- 拓展:
random模块:用于生成一个随机数
代码:
import random
s = random.randint(1, 9)
print(s)
random模块配套使用randint函数
例如:
import random # 导入random模块
n = random.dandint(1,3)# 随机生成1----》3之间的一个数(生成区间为1<=n<=3)
7.2 作业:
1.""" 求1000以内的水仙花数 """
代码:
i = 100
while i < 1000:
a = i // 100
b = (i - a * 100) // 10
c = i % 10
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
i += 1
2.""" 获取用户输入的任意数,判断是否为质数 """
代码:
while True:
n = int(input('请输入:'))
# print(n)
# 质数大于一
if n > 1:
for i in range(2, n): # 遍历2至n-1之间是数字
if n % i == 0: # 如果n能被i整除,那么n就不是质数
print('不是质数')
break # 停止本次循环后的所有语句
else:
print('是质数')
代码:
while True:
num = int(input('请输入数字:'))
i = 2
while i < num:
if num % i == 0:
print('不是质数')
break
i += 1
else:
print('是质数')
3.""" 出拳 玩家: 手动输入 电脑: 随机输入 判断输赢: 玩家获胜 电脑获胜 平局 """
代码:
import random
while True:
man = int(input('请输入1,2,3中的数:'))
computer = random.randint(1, 3)
if 0 <= man <= 3:
scissors = 1 # 剪刀
Stone = 2 # 石头
cloth = 3 # 布
# print(computer) # 查看电脑输出的数字
if man == computer:
print('双方平局')
elif man - computer ==1 or computer - man == 2:
print('人类胜利')
else:
print('电脑胜利')
else:
print('你乱输个锤锤!')