# 跟我学Python从小白到入门之Part7——用户输入和while循环001

《Python编程：从入门到实践》的作者在前言这样写到：

`````` I'm  thinking  of a  number!  Try  to  guess  the  number  I'm  thinking  of:  25
Too  low!  Guess  again:  50
Too  high!  Guess  again:  42
That's  it!  Would  you  like  to  play  again?  (yes/no)  no
Thanks  for  playing!
``````

while循环的整体结构如下：

``````while 条件:
满足条件执行循环体
循环体中一定要设置条件被改变的语句

``````

``````key="yes"
while key=="yes":
x = input("I thought of a double digit number!  Try  to  guess  the  number  I'm  thinking  of:")
if int(x)<42:
print("Too  low!  Guess  again:")
elif int(x)>42:
print("Too  high!  Guess  again:")
else:
print("That's  it! ")
print("Thanks  for  playing!")
break
key = input("Would  you  like  to  play  again?  (yes/no)")
if key=="yes":
continue
elif key =="no":
print("Thanks  for  playing!")
``````

``````key="好"
while key=="好":
x = input("嗨，你好！我是Robot，我想了一个两位数!  请你猜猜看：")
if int(x)<42:
print("你猜的数字太小了! 再试试吧！")
elif int(x)>42:
print("你猜的数字太大了! 再试试吧！")
else:
print("对啦，就是这个神奇的数字，你猜中啦! ")
print("谢谢你陪我玩这个游戏!")
break
key = input("继续玩吗? 请输入 (好/不)")
if key=="好":
continue
elif key =="不":
print("谢谢你陪我玩这个游戏!")
``````

OK，与while语句和input()函数的第一次见面就到这里，我们现在开始细细的研究一下它们吧。

7.1 函数input()的工作原理

7.1.1 编写清晰的程序

``````x=input("请输入一个数字：")
print(x)
``````

file-new-python file

7.1.2 使用int()来获取数值输入

``````x=input("请输入一个数字：")
``````

``````x=下面输入的内容放到这个变量中
input("请输入一个数字：")
``````

``````print("你输入的数字是:"+x)
``````

``````x=input("请输入一个数字：")
y=100
z=x+y
print(z)
``````

``````x=input("请输入一个数字：")
y=100
z=int(x)+y
print(z)
``````

``````x=input("请输入一个数字：")
y=100
z=int(x)+y
print("你输入的数字加上100之后是:"+str(z))
``````

``````print("你输入的数字是:"+z)
``````

7.1.3 求模运算符

``````x=10/2
y=10%2
print(x)
print(y)
``````

``````x=(input("请输入一个数字：")
x=int(x)
if x%2==0：
print("你输入的数字是偶数")
else:
print("你输入的数字是奇数")
``````

``````x=int(x)
``````

7.1.4 在Python 2.7中获取输入

7.2 while循环简介

7.2 while循环简介

7.2.1　使用while循环

1. while语句给定退出条件，当条件不满足时，会自动退出
2. 使用break语句，强制退出循环

``````key="好"
while key=="好":
x = input("嗨，你好！我是Robot，我想了一个两位数!  请你猜猜看：")
if int(x)<42:
print("你猜的数字太小了! 再试试吧！")
elif int(x)>42:
print("你猜的数字太大了! 再试试吧！")
else:
print("对啦，就是这个神奇的数字，你猜中啦! ")
print("谢谢你陪我玩这个游戏!")
break
key = input("继续玩吗? 请输入 (好/不)")
if key=="好":
continue
elif key =="不":
print("谢谢你陪我玩这个游戏!")
``````

``````while key=="好":
``````

`````` key = input("继续玩吗? 请输入 (好/不)")
``````

7.2.5　在循环中使用continue

``````if key=="好":
continue
``````

continue语句，用来跳过后面的语句，回到程序开头重新执行下一次循环。

``````while 条件:
满足条件执行循环体
循环体中一定要设置条件被改变的语句

``````

20171030开题
20171107完成

1. 决定回归程序设计入门写作，今天（11月7日）就交这篇。
不输出，就会一直停止输入，这一章停了三周了。不行。
今天（10月30日）经过长达两个小时的调试，终于搞定了这个程序。主要是好久没有写程序了，还是N年前的C和Basic以及FoxBase的基础，再加上今天一开始敲代码就没有“写作大纲”，直接开始一个字一个字的写进编辑器。但是，写程序其实跟写文章一模一样，都是要有大纲有骨架，然后再往里面填写具体内容，最后再进行完善的。
2. 调试程序1，第一次编写，直接敲代码开写，结果漏洞百出，下面程序有错：
``````x=input("I'm  thinking  of a  number!  Try  to  guess  the  number  I'm  thinking  of:")
y="yes"
while True:
while y=="yes":
if int(x)<42:
print("Too  low!  Guess  again:")
elif int(x)>42:
print("Too  high!  Guess  again:")
else:
print("That's  it! )")

y = input("Would  you  like  to  play  again?  (yes/no)")
if y == "no" or y == "NO" or y == "nO" or y == "No":
print("Thanks  for  playing!")
break
elif y == "yes":
continue
``````
1. 于是在纸上画了一个流程之后，发现While语句开始的位置完全出错，再进行编写，调试程序2：
``````key="yes"
while key=="yes":
x = input("I'm  thinking  of a  number!  Try  to  guess  the  number  I'm  thinking  of:")
if int(x)<42:
print("Too  low!  Guess  again:")
elif int(x)>42:
print("Too  high!  Guess  again:")
else:
print("That's  it! ")
print("Thanks  for  playing!")
break
key = input("Would  you  like  to  play  again?  (yes/no)")
if key != "yes" or key != "no":
print("Enter the data error,Please enter yes or no:")
key = input("Would  you  like  to  play  again?  (yes/no)")
if key=="no":
print("Thanks  for  playing!")
break

continue
``````
1. 从21号看完实体书的教程后开写，停了两周之后，10月30号开写主体程序并调试完成，实际上还不完善，但是完成大于完美，所以，就这样吧。但是，有点焦虑，这么简单一个程序都要花这么长时间调试，感觉有点泄气了。
好吧，进入一个新领域，总是这样，要接受和原谅自己最开始的笨拙，嗯，谢谢李笑来老师教诲，让我能接受和忍受起步时的笨拙，会继续投入时间等待终有一天的起飞。
2. 每次写程序学习的文发到群里都被战友说看不懂，决定改一下，所以昨天（10月21号）没发程序这篇，今天（10月22号）来写，现在是11：39，Go！然而只开了个头
3. 决定回归程序设计入门写作，今天就交这篇。
不输出，就会一直停止输入，这一章停了三周了。不行。