当前位置:   article > 正文

黑马程序员-python课程笔记(26-50p)_python 黑马头条 笔记 网盘

python 黑马头条 笔记 网盘
  1. # 表达式格式化
  2. '''
  3. print(f'1*1这道计算题答案是{1*1}')
  4. print('1*1这道计算题答案是%d'%1*1)
  5. #这个知识点内容较简单,大致就是说:如果不需要存储变量,直接用这种方式也可以
  6. '''
  7. # 股价计算小程序(p26课后)
  8. '''
  9. name = "传智播客"
  10. stock_price = 19.99
  11. stock_code = "003032"
  12. stock_price_daily_growth_factor = 1.2
  13. growth_days = 7
  14. print(f'公司:{name},股票代码:{stock_code},当前股价:{stock_price}')
  15. print("每日增长系数是:%.1f,经过%d天的增长后,股价达到了:%.2f" % (stock_price_daily_growth_factor,growth_days , stock_price * stock_price_daily_growth_factor ** growth_days))
  16. # 实际做题时,在第二句中的出现了报错 TypeError:格式字符串的参数不足。查完资料发现是字符串格式输出了一些问题
  17. # 原因是如果需要写入多个占位时,后面应写成%( 第一个,第二个,......)
  18. '''
  19. # input语句 从键盘读取输入
  20. '''
  21. print("请告诉我你是谁?")
  22. name=input()
  23. print("I know, you are:%s" %name)
  24. # 第一行的print提示也可以省略!
  25. name=input("请告诉我你是谁")
  26. print("噢原来你是:%s" %name)
  27. # print("噢原来你是:%d" %name)可以尝试在这里用%d占位发现会报错 通过type查看可知 无论你输入的时什么类型,input通通看成字符串
  28. '''
  29. # 欢迎登录小程序(p29课后)
  30. '''
  31. user_name=input() #获取用户名称
  32. user_type=input() #获取用户类型
  33. print("您好,%s, 您是尊贵的:%s 用户,欢迎您的光临"%(user_name,user_type))
  34. '''
  35. # 布尔类型
  36. '''
  37. # 定义变量储存布尔类型的数据
  38. bool_1=True
  39. bool_2=False
  40. print(f"bool_1变量的内容是:{bool_1},类型是{type(bool_1)}")
  41. print(f"bool_2变量的内容是:{bool_2},类型是{type(bool_2)}")
  42. #比较预运算符
  43. num_1=1
  44. num_2=2
  45. print(f'1==2的结果是:{num_1==num_2}') #同样也可判断字符串是否相等
  46. '''
  47. # 判断语句
  48. '''
  49. """if 条件 :
  50. 条件成立要做的事情 #缩进四空格(tab)"""
  51. age = 30
  52. if age >= 18:
  53. print("我成年了 我%d岁了" % age)
  54. print("时间过的好快!") #无缩进就和if同级
  55. '''
  56. # 判断语句_课后练习(成年人判断)
  57. '''
  58. age=input("欢迎来到儿童游乐园,儿童免费,成人收费\n请输入你的年龄:")
  59. age=int(age) #注意input输入的是字符串 为了后续能和18进行比较 需要转换格式
  60. if age>=18:
  61. print("您已成年,游玩需补票10元。")
  62. print("祝您游玩愉快。")
  63. '''
  64. # 判断语句_if else语句
  65. '''
  66. age = input("欢迎来到儿童游乐园,儿童免费,成人收费\n请输入你的年龄:")
  67. age = int(age)
  68. if age >= 18:
  69. print("您已成年,游玩需补票10元。")
  70. else:
  71. print("你还未成年,可以免费游玩")
  72. print("祝您游玩愉快。")
  73. '''
  74. #判断语句_if else语句_课后练习(我要买票吗)
  75. '''
  76. height=input("欢迎来到动物园。\n请输入你的升高(cm):")
  77. if int(height)>120:
  78. print("你的身高超出120cm,游玩需要补票10元。")
  79. else:
  80. print("您的身高未超过120cm,可以免费游玩。")
  81. print("祝您游玩愉快。")
  82. '''
  83. # 判断语句_if elif else语句
  84. '''
  85. #和上节课大差不差 可以在else前在加入多个elif的判断语句 不同的是这些判断语句后面都需要加上判断条件
  86. #判断的顺序是if->elif1->elif2 if成立就不执行elif1,后面同理
  87. height=input("欢迎来到动物园。\n请输入你的升高(cm):")
  88. vip_leval=int(input("输入您的vip等级:"))
  89. if int(height)<120:
  90. print("您的身高未超过120cm,可以免费游玩")
  91. elif vip_leval >3:
  92. print("尊贵的vip 您可以免费游玩")
  93. else:
  94. print("不好意思 您所有条件都不满足 滚去补票")
  95. print("祝您游玩愉快。")
  96. '''
  97. # 判断语句_if elif else语句_课后练习(猜数字)
  98. '''
  99. number=16 #随机设定一个数字
  100. number_guess1=int(input('请输入第一次猜想的数字:'))
  101. if number_guess1==number:
  102. print("恭喜一次就猜对啦!")
  103. elif int(input('不对,再猜一次:')) ==number:
  104. print("恭喜第二次就猜对啦!")
  105. elif int(input('不对,最后再猜一次:'))==number:
  106. print("恭喜猜对!")
  107. else:
  108. print(f"sorry,全猜错啦,我想的是:{number}")
  109. '''
  110. #嵌套判断
  111. '''
  112. #少用!少用!少用!
  113. #重点是注意缩进和逻辑
  114. #例子:公司中18-30的成年人可以领取礼物,同时需要是入职时间>2,级别>3
  115. age=18
  116. year=1
  117. leval=4
  118. if age>=18:
  119. print("你是成年人")
  120. if age<30:
  121. print("你的年龄达标!")
  122. if year>2:
  123. print("恭喜,年龄和入职时间都满足,可以领取")
  124. elif leval>3:
  125. print("恭喜,年龄和级别达标,可以领取")
  126. else:
  127. print("不好意思,年龄达标,但入职时间和级别都不达标")
  128. else:
  129. print("不好意思,年纪太大了")
  130. else:
  131. print("小朋友不能领取")
  132. '''
  133. #判断语句综合练习(猜数字)
  134. '''
  135. import random
  136. num=random.randint(1,10)
  137. guess1=int(input("第一次机会:"))
  138. if guess1==num:
  139. print("恭喜第一次就猜对了")
  140. elif guess1!=num:
  141. if guess1>num:
  142. print("猜大了")
  143. elif guess1<num:
  144. print("猜小了")
  145. guess2=int(input("第二次机会:"))
  146. if guess2 == num:
  147. print("恭喜第二次就猜对了")
  148. elif guess2 != num:
  149. if guess2 > num:
  150. print("猜大了")
  151. elif guess2 < num:
  152. print("猜小了")
  153. guess3=int(input("第三次机会:"))
  154. if guess3 == num:
  155. print("恭喜第三次猜对了")
  156. else:
  157. print("没有猜中噢")
  158. #其实通过案例是可以发现嵌套不是很方便且容易出现逻辑的错误
  159. '''
  160. #while循环
  161. '''
  162. i=0
  163. while i<100:
  164. print("evering will be OK")
  165. i+=1
  166. #print(i)
  167. '''
  168. #while循环_课后练习(1-100求和)
  169. '''
  170. i=1
  171. num=0
  172. while i<=100:
  173. num = num + i
  174. i+=1
  175. print(i,num)
  176. '''
  177. #while循环_课后练习(猜数字)
  178. '''
  179. import random
  180. num=random.randint(1,100)
  181. print(num)
  182. #偷看一眼
  183. guess_num=int(input("输入猜测的数字:"))
  184. i=1
  185. while guess_num!=num: #如果猜错就进入while循环
  186. if guess_num>num:
  187. print("太大了")
  188. else:
  189. print("太小了")
  190. guess_num=int(input("输入猜测的数字:"))
  191. i+=1
  192. print(f"猜对了 就是{num}") #跳出while循环时候输出,或者没进入循环也会输出
  193. print("总共猜了%d次"%i)
  194. '''
  195. #while循环的嵌套_课后练习(九九乘法表)
  196. '''
  197. # 基于缩进的嵌套
  198. # \t表示对齐,表示补齐到8个长度
  199. print('xx', end='')
  200. print('yy') #可以不换行输出 使输出都在一行
  201. i=1
  202. while i<=9:
  203. #定义内层循环的控制变量
  204. j = 1
  205. while j<=i:
  206. print(f'{j} * {i} ={j*i}\t',end='')
  207. j+=1
  208. i+=1
  209. print() #输出空内容 也就是换行
  210. '''
  211. #for循环
  212. '''
  213. #遍历序列类型 比如 字符串,列表 元组等
  214. #定义字符串name
  215. name='pengyuyan'
  216. #for循环处理字符串
  217. for x in name: #x是临时变量 遍历name 和c语言的for循环完全不一样
  218. print(x)
  219. '''
  220. #for循环_课后练习(数字符串中有几个a)
  221. '''
  222. name='ithema is a brand of itcast'
  223. num=0
  224. for x in name:
  225. if x=='a':
  226. num+=1
  227. print("name中共有:%d个字母a" %num)
  228. '''
  229. #range 语句
  230. '''
  231. #语法1
  232. # range(num) #num 填数字,这段语句代表获取一个从0开始到num(不包含num)的数字序列
  233. range(10)
  234. for x in range(10):
  235. print(x)
  236. #语法2
  237. # range(num1,num2) #获得一个从num1到num2的数字序列(不包含num2本身),其实2和3本质一样,不写步长默认就是1
  238. range(5,10)
  239. for x in range(5,10):
  240. print(x)
  241. #语法3
  242. # range(num1,num2,step)#获得一个从从num1到num2的数字序列(不包含num2本身) 数字间的步长是step
  243. range(1,10,2)
  244. for x in range(1,10,2):
  245. print(x)
  246. '''
  247. #range 语句_课后练习(有几个偶数)
  248. '''
  249. num=0
  250. for x in range (1,100):
  251. if x %2==0:
  252. num+=1
  253. print(num)
  254. '''
  255. #理解临时变量
  256. '''
  257. x=1 #range后x会被覆盖
  258. for x in range(3):
  259. print(x)
  260. print()
  261. print(x) #不要这么做,容易造成错误,也影响可读性
  262. '''
  263. #for循环嵌套
  264. '''
  265. #!!!同之前的嵌套,重点就是用用好缩进
  266. i=0
  267. for i in range(1,101):
  268. print(f"今天是学习的第{i}天,加油")
  269. #嵌套
  270. for j in range(0,25):
  271. print(f'学习到今天的{j}点了')
  272. print('休息')
  273. print(f'在{i}天时候学会啦')
  274. #while和for俩个相互嵌套都行
  275. '''
  276. #再次试试输出九九乘法表
  277. '''
  278. for x in range(1,10):
  279. for y in range(1,x+1):
  280. print(f"{y}*{x}={x*y}\t",end='')
  281. print()
  282. '''
  283. #breake和continue
  284. '''
  285. ##循环中断语句continue
  286. # for i in range(1,6):
  287. # print(1)
  288. # continue
  289. # print(2) #这句没有被执行,因为continue代表结束本次循环进入下一次
  290. ##continue的嵌套(只能对自己所在的循环起作用)
  291. # for i in range(1,6):
  292. # print(1)
  293. # for j in range(1,6):
  294. # print(2)
  295. # continue
  296. # print(3)
  297. #
  298. # print(4)
  299. #break直接跳出循环
  300. # for i in range(1,101):
  301. # print(1)
  302. # break
  303. # print(2)
  304. # print(3)
  305. #break的嵌套(同样只能对自己所在的循环起作用)
  306. for i in range(1,6):
  307. print(1)
  308. for j in range(1,100):
  309. print(2)
  310. break #原本内层循环应该执行99次,但break跳出了循环
  311. print(3)
  312. print(4)
  313. '''
  314. #循环练习案例(p50发工资)
  315. '''
  316. #________写了一个 但是很奇怪,我希望是余额为0之后输出”工资发完了“然后break 但是一直修改无法做到
  317. #————————之后发现在进入for循环前增加一个if判断total的值就可以实现上面的需求
  318. import random
  319. total = 10000 # 账户余额total
  320. # 用for循环员工1-20
  321. for x in range(1, 21):
  322. num = random.randint(1, 10)
  323. if num < 5:
  324. print(f"员工{x}, 绩效分{num}, 不发工资,下一位")
  325. continue
  326. elif total >= 1000:
  327. total -= 1000
  328. print(f"向员工{x}发放工资1000元,账户余额还剩{total}")
  329. else:
  330. print("工资发完了,账户余额不足")
  331. break
  332. # 在每次发放工资后检查total是否足够支付后续员工的工资
  333. if total < 1000:
  334. print("还有剩余员工,但账户余额不足,停止发放工资")
  335. break
  336. '''

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/111479
推荐阅读
相关标签
  

闽ICP备14008679号