#while循环
#----------------------------------
# while 判断条件:
# 代码块
#----------------------------------
#理解:当 True、False
一、while循环
1、打印10以内的所有奇偶数
#1.1例题(讲解)
#打印出10以内的所有"奇数"
n=1
while n<10:
print(n)
n=n+2
#1.2练习
#打印出10以内的所有"偶数"
2、用while循环替换for循环
#2.1for循环绘制正方形
import turtle
for i in range(4):
turtle.forward(100)
turtle.left(90)
turtle.hideturtle()
#2.2while循环
import turtle
n=1
while n<5:#3(绘制正方形循环4次)
turtle.forward(100)
turtle.left(90)
n+=1#3 绘制4条边(直到不满足n<5,退出循环)
turtle.hideturtle()
########################2.3把n=0,判断条件n改为4,看看是否能够绘制出正方形
#2.3while循环练习
import turtle
n=0
while n<4:#3(绘制正方形循环4次)
turtle.forward(100)
turtle.left(90)
n+=1#3 绘制4条边(直到不满足n<5,退出循环)
turtle.hideturtle()
二、 while-True循环
#while循环改写for循环画正方形的例子
#为什么要学while循环?和for循环有什么[区别]呢?
#1. while循环 不遍历 “列表”或者“数字序列”,而是根据后面的 表达式 判断循环是否结束
# (1)适合解决事先“不知道要循环多少次”的情况
#例如:爬山==>我累了/到达山顶==>停下来
# 否则,一直往上爬 [不知道爬多少台阶while]
#while-true
#爬山:直到山顶才停止,否则一直往上爬...
import turtle
text=turtle.textinput("爬山","往上爬")
while True: #无限循环1
if text=="我累了" or text=="到达山顶":
print(text+"休息")
break #退出循环2
else:
print("继续爬吧!")
break
# 一次判断,两种不同结果==>结束了,不符合一直往上爬。。。
# #练习(我渴了、运动结束)喝点温水//(我困了、天黑了)睡觉// 继续爬吧!
import turtle
text=turtle.textinput("爬山","往上爬")
while True: #无限循环1
if text=="我渴了" or text=="运动结束":
print(text+",喝点温水")
break #退出循环2
elif text=="我困了" or text=="天黑了":
print(text+",睡觉!")
break
else:
print("继续爬吧!")
三、猜数字
#3.1随机数:2种方法:
random.random(); random.randint(1,100)
(1)产生0-1之间的 随机浮点数
(2)产生"指定区域内"的 随机整数
import random
print(random.random())
print(random.randint(1,10))
#3.2猜数字游戏
import turtle
import random#随机数
r=random.randint(1,10)#程序随机生成
n=int(turtle.textinput("你的数字","请输入一个1-10的整数:"))#我们猜的
#二者比大小
while True:
if n<r:
n=int(turtle.textinput("你的数字","猜小了,请重新输入:"))
elif n>r:
n=int(turtle.textinput("你的数字","猜大了,请重新输入:"))
elif n==r:
turtle.write("恭喜你,猜对了!随机数为:"+str(n),align="center",font=("宋体",20,"bold"))
break
turtle.hideturtle()
input()