关于python的一个小问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python的一个小问题相关的知识,希望对你有一定的参考价值。

settings.py
class Settings():
def __int__(self):
self.screen_width = 1200
self.screen_height = 800
self.bg_color = (230,230,230)

try.py
from settings import Settings
ai_settings=Settings()
print(ai_settings.screen_height)
执行try.py为什么提示
Settings object has no attribute screen_height
好吧,我知道错哪了

参考技术A

一个有意思的Python小程序(全国省会名称随机出题)

最近比较迷Python,仿照《Python编程快速上手》8.5写了一个随机出卷的小程序。程序本身并不难,关键是解决问题的思路,还有就是顺便复习了一下全国地名(缅怀一下周总理)。

OK其实还是有一个难点的,就是关于Python的中文编码问题,如何把中文字典输入到txt然后再把它读出来,程序中借用了json方法,而且在输出时decode、encode,有一些参考的价值吧。废话不说了,上程序。

# *encoding:utf-8 *
from __future__ import print_function
import os
import json
import random
#总理的诗:两湖两广两河山,五江云贵福吉安,四西二宁青甘陕,还有内台北上天
capitals = {湖南:长沙,湖北:武汉,广东:广州,广西:南宁,河北:石家庄,河南:郑州,山东:济南,山西:太原,
江苏:南京,浙江:杭州,江西:南昌,黑龙江:哈尔滨,新疆:乌鲁木齐,云南:昆明,贵州:贵阳,福建:福州,吉林:吉林,安徽:合肥,
四川:成都,西藏:拉萨,宁夏:银川,辽宁:长春,青海:西宁,甘肃:兰州,陕西:太原,
内蒙古:呼和浩特,台湾:台北,北京:北京,上海:上海,天津:天津,重庆:重庆,
香港:香港,澳门:澳门,}
#将测试集合保存为txt,中文字典转字符串后很难处理,所以借用json处理,json.dumps转字符串
capitalslContent = json.dumps(capitals, encoding = utf-8, ensure_ascii = False) 
capitalTxt = open(./lesson8/capitals.txt,w)
capitalTxt.write(capitalslContent)
capitalTxt.close()

#从txt中读取测试集合
capitalTxt = open(./lesson8/capitals.txt)
capitals = json.loads(capitalTxt.read())              #直接print为Unicode编码字典
# capitals = json.dumps(capitals,ensure_ascii=False)  #输出中文字符串编码
# for key,value in capitals.items():                  #遍历字典输出中文的key和value
#     print(key+‘:‘+value)
capitalTxt.close()
#生成首府测试集合试卷(随机生成试卷2份) for qNum in range(2): qFile = open(./lesson8/capitalQuestions%s.txt%(qNum+1),w) aFile = open(./lesson8/capitalAnswers%s.txt%(qNum+1),w) qFile.write(姓名:\n\n日期:\n\n学号:\n\n) qFile.write(( *20)+全国省会名称测试 (地理卷%s)\n\n%(qNum+1)) states = list(capitals.keys()) random.shuffle(states) for questionNum in range(len(capitals)): correctA = capitals[states[questionNum]] wrongA = list(capitals.values()) del wrongA[wrongA.index(correctA)] wrongA = random.sample(wrongA,3) answerOption = wrongA+[correctA] random.shuffle(answerOption) qFile.write(%s. %s的省会是_____\n%(questionNum+1,states[questionNum].encode(utf-8))) for i in range(4): qFile.write(%s. %s\n%(ABCD[i],answerOption[i].encode(utf-8))) qFile.write(\n) aFile.write(%s. %s\n%(questionNum+1,ABCD[answerOption.index(correctA)])) qFile.close() aFile.close()

注意,没有检测文件路径,需要在当前文件夹下新建一个lesson8的文件夹,运行程序后会在该目录生成测试卷。

 

以上是关于关于python的一个小问题的主要内容,如果未能解决你的问题,请参考以下文章

一个关于Linux升级Python后yum的小问题

python关于八皇后判断冲突函数的一些逻辑小问题

关于Python-Django数据库的一个小问题

关于python的一些小的知识点-2

一个关于python3中setup.py小概念

关于Python开发小程序的随笔path11