if与while区别在哪里?
IF语句由递进值直接输出,如果满足了判断条件,将会从递进值直接输出
while语句由判断条件直接输出,会直接尝试到符合/不符合判断条件,直接输出。 2.7.5恼人的循环 2.7.6break语句
break语句可以提前跳出循环
例:
whlie Ture:
print('please type your name')
name=input()
if name=='your name':
break
print('Thank you')
break可以直接跳出循环 2.7.7countinue语句
countiue语句用于循环语句中,当程序跑到countinue处时,会立即跳到程序开始的地方重新循环 2.7.8for()循环和range()函数
for循环的语句形式为 for i in range(5):
包含:
1、for关键字
2、一个变量名
3、in关键字
4、调用range()函数,最多3个
5、冒号
6、从下一行开始,缩进的代码块(称为for子句)
从一加到一百的循环
start=0
for num in range(101):
start=num+start
print(start) 2.7.9等价的whlie的循环
用for in可以达到和whlie相同的效果 2.7.10range函数的开始、停止和递进值
range(循环范围)
range(开始值,结束值)
range(开始值,结束值,递进值)
超出范围的值将不会返回 2.8导入模块
improt()函数必须包含以下部分
1、improt关键字
2、模块的名称
3、可选的更多模块名称之间用逗号隔开
from import是另一种形式例如
from random import * 2.9sys.exit()结束程序函数
sys.exit可以用于结束程序
2.10小程序:猜数字
#这是一个猜数字小游戏import random
print('hello this is a guess the number game')
print('i am think of a number between 1 and 20')
print('then,plase take a guess')
mynumber=random.randint(1,20)
for guessnumber in range(1,7):
usernumber = int(input())
if usernumber>mynumber:
print('younumber is too high.')
print('guess again')
elif usernumber<mynumber:
print('you number is too low.')
print('guess again')
else:
break
if usernumber==mynumber:
print('you are NB!!!!!!,you just use'+str(guessnumber)+'s')
else:
print('you are LJ,mynumber is '+str(mynumber))
2.11小程序:剪刀石头布
import random
print('嗨,现在我们来玩一个剪刀石头布的游戏~')
#玩家端
while True:
print('请输入剪刀、石头、布或退出')
player = input()
computer = random.randint(1, 3)
if player=="剪刀":
playernumber=1
print('您输入了剪刀')
elif player=="石头":
playernumber=2
print('您输入了石头')
elif player=="布":
playernumber=3
print('您输入了布')
elif player=="退出":
break
else:
print('您的输入有误,请输入"剪刀","石头"或"布"')
continue
#电脑端
print(computer)
if computer==1:
computernumber='剪刀'
print('电脑出了'+computernumber)
elif computer==2:
computernumber='石头'
print('电脑出了'+computernumber)
elif computer==3:
computernumber='布'
print('电脑出了'+computernumber)
else:
print('程序出现错误啦')
#判断分数
if computer==playernumber:
print('平局啦,还要载来一把么???输入(Y)es 或者(N)o')
tf=input()
if tf=='Y':
continue
elif tf=='N':
print('下次再见咯')
break
elif computer==2 and playernumber==1 or computer==3 and playernumber==2or computer==1 and playernumber==3:
print('你输啦,还要再来一把么???输入(Y)es 或者(N)o')
tf=input()
if tf=='Y':
continue
elif tf=='N':
print('下次再见咯')
break
elif computer==1 and playernumber==2 or computer==2 and playernumber==3or computer==3 and playernumber==1:
print('我输啦,我不服!可以再来一把么???输入(Y)es 或者(N)o')
tf=input()
if tf=='Y':
continue
elif tf=='N':
print('下次再见咯')
break
这是做完下班熬夜写的,学会了书中的逻辑,但是比分扳没有写出来
显然这是通过编辑玩家端和电脑端,我认为这种思路还是比较清晰的,他把玩家端发生的和电脑端发生的一一说明。
习题:
1.布尔数据类型的两个值是什么?如何拼写?
2.3 个布尔操作符是什么?
3.写出每个布尔操作符的真值表(也就是操作数的每种可能组合,以及操作的结果)。
4.以下表达式求值的结果是什么?(5 > 4) and (3 == 5)not (5 > 4)(5 > 4) or (3 == 5)not ((5 > 4) or (3 == 5))(True and True) and (True == False)(not False) or (not True)
5.6 个比较操作符是什么?
6.等于操作符和赋值操作符的区别是什么?
7.解释什么是条件,可以在哪里使用条件。
8.识别这段代码中的 3 个语句块:
9.编写代码,如果变量 spam 中存放 1,就打印 Hello,如果变量中存放 2,就打印 Howdy,如果变量中存放其他值,就打印 Greetings!10.如果程序陷在一个无限循环中,你可以按什么键?11.break 和 continue 之间的区别是什么?12.在 for 循环中,range(10)、range(0, 10)和 range(0, 10, 1)之间的区别是什么?13.编写一小段程序,利用 for 循环,打印出从 1 到 10 的数字。然后利用 while循环,编写一个等价的程序,打印出从 1 到 10 的数字。14.如果在名为 spam 的模块中,有一个名为 bacon()的函数,那么在导入 spam模块后,如何调用它?
附加题:在因特网上查找 round()和 abs()函数,弄清楚它们的作用。在交互式环境中尝试使用它们。