学习要点:
1.第一个改进要求:猜错的时候程序提示用户当前的输入比答案大了还是小了。
2.第二个改进要求:程序应该提供多次机会给用户猜测,专业点来说就是程序需要重复运行某些代码。
3.第三个改进要求:每次运行程序产生的答案是随机的:(引入模块random模块)
这个random模块里边有个函数叫做:randint(),他会返回一个随机的整数。
if 条件:
条件为真(true)执行的操作。 else: 条件为假(False)执行的操作。
python的while循环语法:
while 条件 :
条件为真(True)执行的操作。
学习代码如下:
import random secret = random.randint(1,20) print('---------------------和你玩个小游戏---------------------------') temp = input("请猜猜我心中的数字:") guess = int(temp) while guess != secret: temp = input("hi呀,你猜错了,相信你可以的继续猜:") guess = int(temp) if guess == secret: print("嗨呀,难道你是我肚子一条蛔虫吗") print("哈哈,猜对也没有奖励。") else: if guess > secret: print("不好意思,您猜的数字大了哈") else: if 1 <= guess < 21: print('你猜的数字很接近,继续加油。') else: print("不好意思,您猜的数字小了哈") print("游戏结束,不玩啦")
005-Python的数据类型。
init() float() str() e记法
例如:
a = 0.000000000008 a 8e-12
a = 9e10 a 90000000000.0
type() 属于什么数据类型 ,isinstance() 判断数据类型
例题:
a = '520' type(a) <class 'str'>
a = 520 type (a) <class 'int'>
isinstance(a,int) True
isinstance(a,float) False
测试题:
-
Python 的 floor 除法现在使用 “//” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
地板除法,3//2=1, 3.0//2.0=1.0,整数的地板除//永远是整数,即使除不尽
-
a < b < c 事实上是等于?
a<b and b<c
-
不使用 IDLE,你可以轻松说出 5 ** -2 的值吗?
? ? 1/25,幂级运算优先级高于其他算术操作符合逻辑操作符,但是幂级运算有一点比较特殊
? ? 幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。
? ? 例:-52=-25,是-(52),而不是(-5)**2
-5**2 -25
5**-2 0.04
-
如何简单判断一个数是奇数还是偶数? 取余%, if(a%2) "是奇数" else "是偶数"
-
请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9 (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9) == 0 or 0 or 4 or 6 or 9 == 4
例如:
3 or 5 3
3 and 5 5
0 and 5
0 or 5 5
- 还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?
print("-----------------------还记得我们上节课那个求闰年的作业吗?如果还没有学到“求余”操作,还记得用什么方法可以“委曲求全”代替“%”的功能呢?---------------------------------") years=input("请输入一个年数判断是否闰年:") year=int(years) a=year/4 b=year-4*a if (b==0): print("闰年") else: print("不是闰年")
- 请写一个程序打印出 0~100 所有的奇数。 for i in range(1,100,2): print(i)
i=1 while i <= 100: if (i % 2) != 0: print(i) i+=1 else: print('end')
条件表达式(三元操作符)
例如:
assert 3>4 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> assert 3>4 AssertionError
assert 4>3
循环: While 条件: 循环体
For 循环
例子
favourit = 'xiaomeiren' for i in favourit: print(i,end=' ')
x i a o m e i r e n
menber = ['小A','小康','zyp','小美'] for each in menber: print (each,len(menber))
小A 4 小康 4 zyp 4 小美 4
for each in menber: print(each,len(each)) 小A 2 小康 2 zyp 3 小美 2
range(0,5) range(0, 5)
list(range(0,5)) [0, 1, 2, 3, 4]
for i in range(0,5): print(i,end=' ')
0 1 2 3 4
Break 语句作用:条件为真,终止循环,跳出循环体,执行循环外语句 answer = "你是天底下最美的美人儿。" guess = str(input( '猜猜我喜欢的一句话:')) while True: if guess == answer: break guess=input("不好意思,没有猜对喔,请重新输入(输入正确才能退出游戏喔)!") print('帅呆了') print('厉害了,难道你是我的肚里一条蛔虫吗')
Continue语句:终止本轮循环,执行下一个循环,循环前会检测条件为True,才会执行下轮循环,否则退出循环体。 for i in range(10): if i%2 !=0: print(i) continue i += 2 print(i)
列表:
menber = ['小炮','小美','终止','学校'] menber ['小炮', '小美', '终止', '学校']
number = [1,2,3,4,5] number [1, 2, 3, 4, 5]
mix = ['zyp',1,2,3,4] mix ['zyp', 1, 2, 3, 4]
empty = [ ] empty []