|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
测试题:
0: 无限循环, 试了一下,电脑停不下来了,原因是 while 里面 的语句,因为没有任何输入 这个代码,所以 ‘C’代表的是true 所以一直运行打印 无限循环,我的妈呀
1:本来以为是无限,结果是10次
2: 10<cost and cost<50
3:可以的
4:可以
5:and 不一定需要括号
6:布尔运算符有个有趣的特性:只有在需要求值时才进行求值。举例来说,表达式x and y需要两个变量都为真时才为真,所以如果x为假,表达式就会立刻返回false,而不管y的值(事实上各个语言都有这个特性)。实际上,如果x为假,表达式会返回x得值----否则它就返回y的值。这种行为被称为短路逻辑(short-circuit logic)或惰性求值(lazy evaluaion):布尔运算符通常被称为逻辑运算符,就像你看到的那样第2个值有时“被短路了”。这种行为对于or来说也同样适用。在表达式x or y中,x为真时,它直接返回x的值,否则返回y值。注意,这意味着在布尔运算符之后的所有代码都不会执行。
这有什么用呢?它主要是避免了无用地执行代码,可以作为一种技巧使用,假设用户应该输入他/她的名字,但也可以选择什么都不输入,这时可以使用默认值‘<unknown>’。可以使用if语句,但是可以很简洁的方式:
name = raw_input('Please enter your name: ') or '<unknown>' 换句话说,如果raw_input语句的返回值为真(不是空字符串),那么它的值就会赋给name,否则将默认的'<unknown>'赋值给name。
这类短路逻辑可以用来实现C和Java中所谓的三元运算符(或条件运算符)
动动手:
0:import random
secret =random.randint(1,10)
print("---------^猜数字游戏改进版^----------")
temp=input("猜一猜强哥心里想的是哪一个数字?")
guess=int(temp)
if guess==secret:
print("你是强哥心里的蛔虫吗?")
print("哼,猜中了,也没有奖励!")
if guess>secret:
print("哥,大了大了~")
i=2
while i:
print("你还有",i,"次机会")
temp=input("到底是什么数字呢?:")
guess=int(temp)
if guess>secret :
print("大了大了")
i=i-1
if guess<secret :
print("小了小了")
i=i-1
if guess==secret :
print("恭喜你猜中啦!")
break
if guess<secret:
print("哥,小了小了~")
i=2
while i:
print("你还有",i,"次机会")
temp=input("到底是什么数字呢?:")
guess=int(temp)
if guess>secret :
print("大了大了")
i=i-1
if guess<secret :
print("小了小了")
i=i-1
if guess==secret :
print("恭喜你猜中啦!")
break
print("游戏结束不玩啦~!~~")
但我觉得还不够完善 可以继续精简
1:
temp=input("请输入一个整数")
x=int(temp)
i=1
if x<=0:
print("您输入的值无效")
else:
while x:
print(i)
i=i+1
x=x-1
2:
temp=input("请输入一个整数")
x=int(temp)
y=x
while x:
print(" "*(x-1),"*"*x)
x=x-1
3:
这一课学到的知识使我发掘了学习python的信心和乐趣,其一,与C语言不同的语法方式,节省了很多时间以及便于理解,例如打印输出图形时,直接“*”*i 就可以了,不费脑细胞
其二,一些快捷键: 选中按住TAB整体后移 输出既有字符串又有变量的语句时 中间用 , 隔开
python 不能使用i-- 只能用i=i-1
while i 可以循环 i 次
|
|