鱼C论坛

 找回密码
 立即注册
楼主: 17791509357

求助,哪位大神有python代码,我觉得直接看代码学习会更快你们觉得呢,

[复制链接]
发表于 2020-4-11 13:01:24 | 显示全部楼层
长见识了,第一次看到这样学习 Python 的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 13:04:49 | 显示全部楼层
本帖最后由 zltzlt 于 2020-4-11 13:06 编辑

好,我给你一段之前写的代码

  1. # -*- coding:utf-8 -*-
  2. from tkinter import *
  3. from tkinter import filedialog
  4. from tkinter import messagebox
  5. from os.path import isfile
  6. from pynput.keyboard import Key, Controller
  7. import pickle as pk


  8. def new(event=None):
  9.     global title
  10.     global saved
  11.     global filename
  12.     title = "记事本 --- 未命名"
  13.     saved = True
  14.     root.title(title)
  15.     filename = ''
  16.     text.delete("1.0", END)


  17. def enter(event):
  18.     global title
  19.     global saved
  20.     text.edit_separator()
  21.     if saved:
  22.         list1 = list(title)
  23.         list1.insert(8, "*")
  24.         list1.extend(["*"])
  25.         title = "".join(list1)
  26.         root.title(title)
  27.         saved = False


  28. def open_file(event=None):
  29.     global filename
  30.     global title
  31.     filename = filedialog.askopenfilename(title="打开文件",
  32.                                           defaultextension=".txt",
  33.                                           filetypes=[("Text File", ".txt"),
  34.                                                      ("All File", ".*")])
  35.     if filename:
  36.         with open(filename, encoding="utf-8") as file:
  37.             text.delete("1.0", END)
  38.             text.insert("1.0", file.read())
  39.         title = "记事本 --- " + filename
  40.         root.title(title)


  41. def save(event=None):
  42.     global title
  43.     global filename
  44.     global saved
  45.     if ((title[8] == "*" and title[-1] == "*") and
  46.             title != "记事本 --- *未命名*"):
  47.         list1 = list(title)
  48.         del list1[8]
  49.         del list1[-1]
  50.         title = "".join(list1)
  51.         root.title(title)
  52.     if title == "记事本 --- 未命名" or title == "记事本 --- *未命名*":
  53.         file_name = filedialog.asksaveasfilename(
  54.             title="保存文件",
  55.             defaultextension=".py",
  56.             filetypes=[("Text File", ".txt"), ("All File", ".*")])
  57.         if file_name:
  58.             with open(file_name, "w") as file:
  59.                 file.write(text.get("1.0", END))
  60.             title = "记事本 --- " + file_name
  61.     else:
  62.         with open(filename, "w") as file:
  63.             file.write(text.get("1.0", END))
  64.         title = "记事本 --- " + filename
  65.     saved = True
  66.     root.title(title)


  67. def undo(event=None):
  68.     global title
  69.     global saved
  70.     text.edit_undo()
  71.     if saved:
  72.         list1 = list(title)
  73.         list1.insert(8, "*")
  74.         list1.extend(["*"])
  75.         title = "".join(list1)
  76.         root.title(title)
  77.         saved = False


  78. def redo(event=None):
  79.     global title
  80.     global saved
  81.     text.edit_redo()
  82.     if saved:
  83.         list1 = list(title)
  84.         list1.insert(8, "*")
  85.         list1.extend(["*"])
  86.         title = "".join(list1)
  87.         root.title(title)
  88.         saved = False


  89. def exit_program(event=None):
  90.     if not saved:
  91.         ok = messagebox.askquestion("询问", "您的文件还没有保存!是否保存文件后再退出?")
  92.         if ok == "yes":
  93.             save()
  94.             root.quit()
  95.     ok = messagebox.askquestion("询问", "您确定要退出吗?")
  96.     if ok == "yes":
  97.         root.quit()


  98. def confirm():
  99.     font_list.append(fontname.get(ACTIVE))
  100.     mst.destroy()
  101.     fontsize_dialog()


  102. def confirm2():
  103.     font_list.append(w.get())
  104.     text.config(font=tuple(font_list))
  105.     pk.dump(font_list, file=open("font.pkl", "wb"))
  106.     m.destroy()


  107. def fontname_dialog(event=None):
  108.     global mst
  109.     global fontname
  110.     font_list.clear()
  111.     mst = Toplevel(root)
  112.     mst.title("调整字体")
  113.     mst.resizable(False, False)

  114.     frame = Frame(mst)
  115.     frame.pack(side=TOP)

  116.     fontname = Listbox(frame, width=30)
  117.     fontname.pack(side=LEFT)

  118.     confirmb = Button(mst, text="我已选择好了", width=25, command=confirm)
  119.     confirmb.pack(side=BOTTOM)

  120.     for each in ["楷体", "仿宋", "黑体"]:
  121.         fontname.insert(END, each)

  122.     mst.protocol("WM_DELETE_WINDOW", set_font)


  123. def fontsize_dialog():
  124.     global w
  125.     global m
  126.     m = Toplevel(root)
  127.     m.title("调整字体大小")
  128.     m.resizable(False, False)

  129.     w = Scale(m, from_=2, to=72, length=400, orient=HORIZONTAL,
  130.               tickinterval=10)
  131.     w.pack()
  132.     confirmb = Button(m, text="我已选择好了", width=25, command=confirm2)
  133.     confirmb.pack(side=BOTTOM)

  134.     m.protocol("WM_DELETE_WINDOW", set_font)


  135. def set_font():
  136.     fonttuple = tuple(pk.load(open("font.pkl", "rb")))
  137.     text.config(font=fonttuple)


  138. def copy(event=None):
  139.     with kb.pressed(Key.ctrl):
  140.         kb.press('c')
  141.         kb.release('c')


  142. def paste(event=None):
  143.     with kb.pressed(Key.ctrl):
  144.         kb.press('v')
  145.         kb.release('v')


  146. def cut(event=None):
  147.     with kb.pressed(Key.ctrl):
  148.         kb.press('x')
  149.         kb.release('x')


  150. title = "记事本 --- 未命名"
  151. saved = True
  152. filename = ''
  153. mst = None
  154. fontname = None
  155. w = None
  156. m = None
  157. kb = Controller()

  158. if not isfile("font.pkl"):
  159.     pk.dump(("仿宋", 15), open("font.pkl", "wb"))

  160. try:
  161.     font = pk.load(open("font.pkl", "rb"))
  162. except EOFError:
  163.     pk.dump(("仿宋", 15), open("font.pkl", "wb"))
  164.     font = pk.load(open("font.pkl", "rb"))

  165. font_list = list(pk.load(open("font.pkl", "rb")))

  166. root = Tk()
  167. root.title(title)

  168. mb = Menu(root)
  169. filemenu = Menu(mb, tearoff=False)
  170. filemenu.add_command(label="新建        Ctrl+N", command=new)
  171. filemenu.add_command(label="打开        Ctrl+O", command=open_file)
  172. filemenu.add_command(label="保存        Ctrl+S", command=save)
  173. filemenu.add_separator()
  174. filemenu.add_command(label="退出        Ctrl+Q", command=exit_program)
  175. mb.add_cascade(label="文件 (F)", menu=filemenu)

  176. editmenu = Menu(mb, tearoff=False)
  177. editmenu.add_command(label="剪切        Ctrl+X", command=cut)
  178. editmenu.add_command(label="复制        Ctrl+C", command=copy)
  179. editmenu.add_command(label="粘贴        Ctrl+V", command=paste)
  180. editmenu.add_command(label="撤销        Ctrl+Z", command=undo)
  181. editmenu.add_command(label="重做        Ctrl+Y", command=redo)
  182. mb.add_cascade(label="编辑 (E)", menu=editmenu)

  183. adjustmenu = Menu(mb, tearoff=False)
  184. adjustmenu.add_command(label="调整字体        Ctrl+F", command=fontname_dialog)
  185. mb.add_cascade(label="调整 (A)", menu=adjustmenu)

  186. sb = Scrollbar(root)
  187. sb.pack(side=RIGHT, fill=Y)

  188. text = Text(root, yscrollcommand=sb.set,
  189.             font=tuple(font), undo=True, autoseparator=False,
  190.             width=50, height=15)
  191. text.pack(side=LEFT, expand=True)

  192. sb.config(command=text.yview)
  193. text.bind("<KeyRelease>", enter)

  194. root.config(menu=mb)
  195. # 不可调整窗口大小
  196. root.resizable(False, False)
  197. root.protocol("WM_DELETE_WINDOW", exit_program)

  198. text.bind("<Control-KeyPress-n>", new)
  199. text.bind("<Control-KeyPress-o>", open_file)
  200. text.bind("<Control-KeyPress-s>", save)
  201. text.bind("<Control-KeyPress-q>", exit_program)
  202. text.bind("<Control-KeyPress-x>", cut)
  203. text.bind("<Control-KeyPress-c>", copy)
  204. text.bind("<Control-KeyPress-v>", paste)
  205. text.bind("<Control-KeyPress-z>", undo)
  206. text.bind("<Control-KeyPress-y>", redo)
  207. text.bind("<Control-KeyPress-f>", fontname_dialog)

  208. mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 13:14:34 | 显示全部楼层
zltzlt 发表于 2020-4-11 13:04
好,我给你一段之前写的代码

备注都没有,备注呢,兄弟,还有这个是游戏代码还是其他的,还有名字呢,不然我学着会很累
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 13:15:27 | 显示全部楼层
17791509357 发表于 2020-4-11 13:14
备注都没有,备注呢,兄弟,还有这个是游戏代码还是其他的,还有名字呢,不然我学着会很累

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 13:24:04 | 显示全部楼层
zltzlt 发表于 2020-4-11 13:04
好,我给你一段之前写的代码

兄弟,从新发一个,有备注的,这个是什么代码,有名字,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 13:24:57 | 显示全部楼层
17791509357 发表于 2020-4-11 13:24
兄弟,从新发一个,有备注的,这个是什么代码,有名字,

好吧,发个简单一点的,下面这段代码是模拟 Python Shell 交互模式的:

  1. # -*- coding: utf-8 -*-
  2. import traceback
  3. import time

  4. lines = []
  5. is_multiple = False

  6. print("----- Python -----\n小贴士:输入 %mutiple line 可以启动多行模式哦,连按两次 <Enter> 键退出多行模式~\n")

  7. while True:
  8.     try:
  9.         while True:
  10.             if is_multiple:
  11.                 command = input("... ")
  12.                 lines.append(command)
  13.                 if not command:
  14.                     is_multiple = False
  15.                     exec("\n".join(lines))
  16.             else:
  17.                 lines = []
  18.                 command = input(">>> ")
  19.                 if command == "%mutiple line":
  20.                     is_multiple = True
  21.                     continue
  22.                 try:
  23.                     ret = eval(command)
  24.                     if ret is not None:
  25.                         print(repr(ret))
  26.                 except SyntaxError:
  27.                     try:
  28.                         exec(command)
  29.                     except Exception as e:
  30.                         raise eval(f"{e.__class__.__name__}")(str(e)) from None
  31.     except Exception as e:
  32.         traceback.print_exc()
  33.         time.sleep(0.05)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 13:43:44 | 显示全部楼层

兄弟,飞机大战,代码给我,我研究下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 14:00:14 | 显示全部楼层
17791509357 发表于 2020-4-11 13:43
兄弟,飞机大战,代码给我,我研究下

你自已去买
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 14:00:49 | 显示全部楼层
17791509357 发表于 2020-4-11 13:43
兄弟,飞机大战,代码给我,我研究下

我的是改进过的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 14:13:07 | 显示全部楼层

代码这好像是机密,都不愿意发,我去淘宝看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 14:14:01 | 显示全部楼层
17791509357 发表于 2020-4-11 14:13
代码这好像是机密,都不愿意发,我去淘宝看看

因为他有音乐和图片(音乐发不了)有代码也没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 15:12:09 | 显示全部楼层
emmm……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-11 15:24:37 | 显示全部楼层
编程鱼C 发表于 2020-4-11 14:14
因为他有音乐和图片(音乐发不了)有代码也没用

我这里有免费素材+源码要不要,顺便说下,刚学python的话建议还是慢慢学,直接去看大佬的代码看也看不懂,学也没学会,还不如踏踏实实脚踏实地慢慢学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 06:50:19 | 显示全部楼层
啊哈 真是有趣
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 07:51:48 | 显示全部楼层
生下来就会/
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 08:06:17 From FishC Mobile | 显示全部楼层
本帖最后由 hrp 于 2020-4-13 08:07 编辑

这里有一个我写的
  1. https://fishc.com.cn/forum.php?mod=viewthread&tid=162829
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-13 16:19:19 | 显示全部楼层
hrp 发表于 2020-4-13 08:06
这里有一个我写的

谢谢,兄弟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-13 16:20:51 | 显示全部楼层

昨天我已经能看懂了,连续看了十多级课,怎么样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-13 16:25:05 | 显示全部楼层
17791509357 发表于 2020-4-13 16:20
昨天我已经能看懂了,连续看了十多级课,怎么样

你这么学习,效果能行吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-13 16:38:16 | 显示全部楼层
Hello. 发表于 2020-4-13 16:25
你这么学习,效果能行吗

就像以前第一次,接触电脑,连个拼音,都不知道在键盘哪里,时间久了不就会了,每天坚持学习和实践,慢慢就会搞定各种知识和问题,你觉得呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-24 00:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表