
漂亮
学完这些课程 考含金量高的证书会不会简单一点。还是说还要再专门学习相关知识?
肯定会简单些 然后还要
还要再专门学习相关的内容 但是学起来肯定简单许多
老师,咱们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 等)执行的机器码(以可执行文件的形式存在)。 | 编译一次后,脱离了编译器也可以运行,并且运行效率高。 | 可移植性差,不够灵活。 |
| 解释型语言 | 由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。 | 跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。 | 一边执行一边转换,效率很低。 |
版本的改动,官网都会对改动部分进行说明,只需要了解改动部分,一些改动很大的会有很多专业人士分享相关文档,但是怎么改也不会让你从头学