老师,咱们python就业需不需要考一些证书呀?
有含金量高的证书自然会更好一些
这序号是不是弄错了,04是不是没有呢
是的,多谢反馈
如图,就是这一个地方不太理解
这是第一张图,上面的是第二张图
不对 不能这样
应该是a=="Q" or a=='q'
不然‘q’就是不做任何判断默认就是true
有什么问题吗?
老师,Python的面向对象和java的面向对象有什么区别,还是一样的麽??
只能说是相似的,但是不完全一样的。
老师看下附件代码哪错了
goods = [ {"name": "面包", "mount": 7, "price": 5}, {"name": "牛奶", "mount": 3, "price": 10}, {"name": "香蕉", "mount": 1, "price": 12}, {"name": "大米", "mount": 2, "price": 98} ] def showGoods(x): print("--- 商品信息 ---") count = 0 a = 0 money = 0 for i in x: print(f"{count}",i["name"],i["mount"],i["price"]) count += 1 start = (i[a]["mount"])*(i[a]["price"]) a += 1 money += start return money showGoods(goods) print(f"本次购物总价为{showGoods(goods)}元")
正确代码如下:建议你先学习咱们视频的内容,掌握基本语法后再去接触课外代码
goods = [ {"name": "面包", "mount": 7, "price": 5}, {"name": "牛奶", "mount": 3, "price": 10}, {"name": "香蕉", "mount": 1, "price": 12}, {"name": "大米", "mount": 2, "price": 98} ] def showGoods(x): print("--- 商品信息 ---") count = 0 a = 0 money = 0 for i in x: print(f"{count}", i["name"], i["mount"], i["price"]) count += 1 start = i.get("mount") * i.get("price") a += 1 money += start return money showGoods(goods) print(f"本次购物总价为{showGoods(goods)}元")
老师看下这段代码哪出问题了?
goods = [ {"name": "面包", "mount": 7, "price": 5}, {"name": "牛奶", "mount": 3, "price": 10}, {"name": "香蕉", "mount": 1, "price": 12}, {"name": "大米", "mount": 2, "price": 98} ] def showGoods(x): print("--- 商品信息 ---") count = 1 for i in x: print(f"{count}" i.get("name") i.get("mount") i.get("price")) count += 1 showGoods(goods)
把中间的逗号补上
老师好,我想问下那个Pycharm能给哪下载啊?
pycharm去官网下载就可以了,https://www.jetbrains.com/pycharm/,这个是链接。
class STDYLTSW: def __init__(self, year, month, day): # 记录当前日期 的三个属性 self.day = day self.month = month self.year = year self.date = (1990, 1, 1) # 初始日期 self.days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30] # 跟上月的天数之差 self.totalDays = 0 def judge_year(self): # 判断闰年 是 返回1 否返回0 if (self.year % 4 == 0 and self.year % 100 != 0) or (self.year % 400 == 0): return 1 else: return 0 def cal_total_days(self): # 计算年和年之间的天数之差 t = self.date[0] # 将1990赋给t while t < self.year: if self.judge_year() == 1: self.totalDays += 366 else: self.totalDays += 365 t = t + 1 # 计算月和月之间的天数之差 i = 0 if self.judge_year() == 1: self.days[2] += 1 while i < self.month: self.totalDays += self.days[i] i += 1 # 计算最后天数之差 self.totalDays += self.day def show_info(self): print("{}/{}/{}与1990/1/1天数之差是{}天".format(self.year, self.month, self.day, self.totalDays)) result = self.totalDays % 5 # 判断是打鱼还是晒网 if 0 < result < 4: print("今天打鱼") else: print("今天晒网!") y, m, d = [int(i) for i in input().split()] p = STDYLTSW(y, m, d) p.cal_total_days() p.show_info()
三天打鱼两天晒程序,用面向对象的方式编写,结果老是多了几天?不知道为什么?
以上是面向对象的代码?
面向过程的正确代码如下:
# 判断是否是闰年 是的返回1 否返回0 def run_year(year): if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return 1 else: return 0 def count_day(currentDay): perMonth = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30] totalDay = 0 year = 1990 while year < currentDay['year']: # 求出指定日期之前的每一年的天数之和 if run_year(year) == 1: totalDay += 366 else: totalDay += 365 year += 1 if run_year(currentDay['year']) == 1: perMonth[2] += 1 # 如果是闰年,二月份是29天 i = 0 while i < currentDay['month']: # 将本年的天数累加到totalDay中 totalDay += perMonth[i] i += 1 totalDay += currentDay['day'] return totalDay if __name__ == '__main__': # while True: print("输入指定日期包括年、月、日。如:1999 1 31") year, month, day = [int(i) for i in input().split()] # 定义一个日期字典 today = {'year': year, 'month': month, 'day': day} totalDay = count_day(today) # 求出指定日期距离1990年1月1日的天数 print("{}年{}月{}日与1990年1月1日相差{}天".format(year, month, day, totalDay)) # 天数%5 判断输出打鱼还是晒网 result = totalDay % 5 if 0 < result < 4: print("今天打鱼!") else: print("今天晒网!")
麻烦老师解答一下。
这个时间对不上还是说明上面代码的计算有问题,应该是平闰年的关系。
好的没事,昨天我已经找出来了
好的。
我用的是3.9版本,遇到下面问题,
Traceback (most recent call last):
File "C:\Users\zrhci\PycharmProjects\pythonProject\venv\test.py", line 4, in <module>
t.forward(x)
AttributeError: 'dict' object has no attribute 'forward'
你把代码发给我,你是不是导入的是import turtle ,后面没有as t。
from tkinter import * def bgUpdate(source): #事件调用 '''更改窗口背景颜色''' red=rSlinder.get() green=gSlinder.get() blue=bSlinder.get() print("R=%d,G=%d,B=%d" %(red,green,blue)) myColor="#%02x%02x%02x" %(red,green,blue) root.config(bg=myColor) root=Tk() root.title("flysnow") root.geometry("360x240") fm=Frame(root) fm.pack() rSlinder=Scale(fm,from_=0,to=255,command=bgUpdate) gSlinder=Scale(fm,from_=0,to=255,command=bgUpdate) bSlinder=Scale(fm,from_=0,to=255,command=bgUpdate) rSlinder.grid(row=0,column=0) gSlinder.grid(row=0,column=1) bSlinder.grid(row=0,column=2) gSlinder.set(125) root.mainloop()
问题描述:为什么这里bgUpdate() 加个source 进行事件绑定,否则程序报错。command一般不用事件绑定的吗?
对的,不用事件绑定,但是那个source换成随意一个参数也可以。
source不能没有,不然程序报错呀
我说的是source可以换成其他的单词,不影响,但是没有会报错。
解释性语言和编译性语言的差别主要体现在性能方面吗,比如python是解释性语言,性能偏低?
类型 | 原理 | 优点 | 缺点 |
---|---|---|---|
编译型语言 | 通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux 等)执行的机器码(以可执行文件的形式存在)。 | 编译一次后,脱离了编译器也可以运行,并且运行效率高。 | 可移植性差,不够灵活。 |
解释型语言 | 由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。 | 跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。 | 一边执行一边转换,效率很低。 |
版本的改动,官网都会对改动部分进行说明,只需要了解改动部分,一些改动很大的会有很多专业人士分享相关文档,但是怎么改也不会让你从头学
不同的版本会有各自独立的环境,后面咱们也会学习虚拟环境的知识,就是为了解决这样的问题,耐心往后学