導航:首頁 > 編程語言 > python趣味編程100

python趣味編程100

發布時間:2023-09-25 03:03:55

『壹』 python編程 編寫程序自動生成0到100間的一個隨機數,然後讓參與者輸入昵稱和數字,最後判斷誰猜得最准

#!/usr/bin/python3# -*- coding:utf-8 -*-"""@author:Storm_ck@file :20200605-01.py@time :2020/6/5 15:20""""""猜數字,看誰猜的最接近"""import randomdef get_abs(rannum, ansnum):return abs(ansnum - rannum)if __name__ == "__main__":num = random.randint(1, 100)adic = {}lens = 0while True:choice = input("What's your name?,enter to quit:")if choice == "enter":breakif choice != "enter":answer = int(input("What's your guess(1-100):"))lens += 1if choice in adic.keys():adic[choice] = answerelse:adic.setdefault(choice, answer)newlist = sorted(adic.items(), key = lambda kv: get_abs(num, kv[1]), reverse = False)if newlist[0][1] != newlist[1][1]:if num == newlist[0][1]:print("{} 厲害,數字就是{}:".format(newlist[0][0], newlist[0][1]))else:print("數字是{},猜的最接近的是:{}".format(num, newlist[0][0]))else:temp = []alist = list(zip(*newlist))[1]t = alist[0]for i in range(alist.count(t)):temp.append(newlist[i][0])astr = ",".join(temp)if num == t:print("{}都比較厲害,數字就是{}:".format(astr, num))else:print("數字是{},{}的答案相同,猜的最接近。".format(num, astr))

『貳』 用python做一個程序:扔100次硬幣,然後分別顯示出擲出正面和反面的次數

7行代碼即可寫出程序,詳細步驟:

1、首先打開python自帶的IDLE,打開IDLE並ctrl+n新建如圖界面。

『叄』 Python寫100個隨機整數並寫入文件

以下是一個Python程序,可以生成100個隨機整數(范團族圍在1到100之間),並將它們寫斗或胡入文件random_numbers.txt中。其中,使用了random模塊生成隨機數,以及with open() as語句來打開文件和自動關閉文件。
python復制代碼import random# 生成100個隨機整數numbers = [random.randint(1, 100) for i in range(100)]# 將隨機數寫入文件with open('random_numbers.txt', 'w') as f: for num in numbers:
f.write(str(num) + '\n')print('隨機數已寫入文件')

運行空攔該程序後,會在當前目錄下生成random_numbers.txt文件,並將100個隨機整數寫入其中。

『肆』 1到100奇數的和python

#100以內奇數和
sum=0
a=[i for i in range(1,101)]
for i in a[::2]:
sum+=i
print("奇數和為:{}".format(sum))

#100以內偶數和
sum1=0
b=[i for i in range(1,101)]
for i in b[1::2]:
sum1+=i
print("偶數和為:{}".format(sum1))

『伍』 python有趣的編程代碼

classPoint:
row=0
col=0
def__init__(self,row,col):
self.row=row
self.col=col

def(self):
returnPoint(row=self.row,col=self.col)


#初始框架
importpygame
importrandom

#初始化
pygame.init()
W=800
H=600

ROW=30
COL=40

size=(W,H)
window=pygame.display.set_mode(size)
pygame.display.set_caption('貪吃蛇')

bg_color=(255,255,255)
snake_color=(200,200,200)

head=Point(row=int(ROW/2),col=int(COL/2))
head_color=(0,128,128)

snakes=[
Point(row=head.row,col=head.col+1),
Point(row=head.row,col=head.col+2),
Point(row=head.row,col=head.col+3)
]

#生成食物
defgen_food():
while1:
pos=Point(row=random.randint(0,ROW-1),col=random.randint(0,COL-1))

#
is_coll=False

#是否跟蛇碰上了
ifhead.row==pos.rowandhead.col==pos.col:
is_coll=True

#蛇身子
forsnakeinsnakes:
ifsnake.row==pos.rowandsnake.col==pos.col:
is_coll=True
break

ifnotis_coll:
break

returnpos


#定義坐標


food=gen_food()
food_color=(255,255,0)direct='left'#left,right,up,down

#
defrect(point,color):
cell_width=W/COL
cell_height=H/ROW

left=point.col*cell_width
top=point.row*cell_height

pygame.draw.rect(
window,color,
(left,top,cell_width,cell_height)
)
pass

#游戲循環
quit=True
clock=pygame.time.Clock()
whilequit:
#處理事件
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
quit=False
elifevent.type==pygame.KEYDOWN:
ifevent.key==273orevent.key==119:
ifdirect=='left'ordirect=='right':
direct='up'
elifevent.key==274orevent.key==115:
ifdirect=='left'ordirect=='right':
direct='down'
elifevent.key==276orevent.key==97:
ifdirect=='up'ordirect=='down':
direct='left'
elifevent.key==275orevent.key==100:
ifdirect=='up'ordirect=='down':
direct='right'

#吃東西
eat=(head.row==food.rowandhead.col==food.col)

#重新產生食物
ifeat:
food=gen_food()

#處理身子
#1.把原來的頭,插入到snakes的頭上
snakes.insert(0,head.())
#2.把snakes的最後一個刪掉
ifnoteat:
snakes.pop()

#移動
ifdirect=='left':
head.col-=1
elifdirect=='right':
head.col+=1
elifdirect=='up':
head.row-=1
elifdirect=='down':
head.row+=1

#檢測
dead=False
#1.撞牆
ifhead.col<0orhead.row<0orhead.col>=COLorhead.row>=ROW:
dead=True

#2.撞自己
forsnakeinsnakes:
ifhead.col==snake.colandhead.row==snake.row:
dead=True
break

ifdead:
print('死了')
quit=False

#渲染——畫出來
#背景
pygame.draw.rect(window,bg_color,(0,0,W,H))

#蛇頭
forsnakeinsnakes:
rect(snake,snake_color)
rect(head,head_color)
rect(food,food_color)

#
pygame.display.flip()

#設置幀頻(速度)
clock.tick(8)

#收尾工作

這是一個簡易版貪吃蛇的代碼,雖然結構簡單,但是該有的功能都是完整的,可玩性也不錯

『陸』 我用了100行Python代碼,實現了與女神尬聊微信(附代碼)

朋友圈很多人都想學python,有一個很重要的原因是它非常適合入門。對於 人工智慧演算法 的開發,python有其他編程語言所沒有的獨特優勢, 代碼量少 ,開發者只需把精力集中在演算法研究上面。

本文介紹一個用python開發的,自動與美女尬聊的小軟體。以下都是滿滿的干貨,是我工作之餘時寫的,經過不斷優化,現在分享給大家。那現在就讓我們抓緊時間開始吧!


准備:

編程工具IDE:pycharm

python版本: 3.6.0

首先新建一個py文件,命名為:ai_chat.py

PS: 以下五步的代碼直接復制到單個py文件裡面就可以直接運行。為了讓讀者方便寫代碼,我把代碼都貼出來了,但是排版存在問題,我又把在pycharm的代碼排版給截圖出來。


第一步: 引入關鍵包

簡單介紹一下上面幾個包的作用: pickle 包 是用來對數據序列化存文件、反序列化讀取文件,是人類不可讀的,但是計算機去讀取時速度超快。(就是用記事本打開是亂碼)。 而 json包 是一種文本序列化,是人類可讀的,方便你對其進行修改(記事本打開,可以看到裡面所有內容,而且都認識。) gensim 包 是自然語言處理的其中一個python包,簡單容易使用,是入門NLP演算法必用的一個python包。 jieba包 是用來分詞,對於演算法大咖來說效果一般般,但是它的速度非常快,適合入門使用。


以上這些包,不是關鍵,學習的時候,可以先跳過。等理解整個程序流程後,可以一個一個包有針對性地去看文檔。


第二步:靜態配置

這里path指的是對話語料(訓練數據)存放的位置,model_path是模型存儲的路徑。

這里是個人編程的習慣,我習慣把一些配置,例如:文件路徑、模型存放路徑、模型參數統一放在一個類中。當然,實際項目開發的時候,是用config 文件存放,不會直接寫在代碼里,這里為了演示方便,就寫在一起,也方便運行。

第三步: 編寫一個類,實現導數據、模型訓練、對話預測一體化

首次運行的時候,會從靜態配置中讀取訓練數據的路徑,讀取數據,進行訓練,並把訓練好的模型存儲到指定的模型路徑。後續運行,是直接導入模型,就不用再次訓練了。

對於model類,我們一個一個來介紹。

initialize() 函數和 __init__() 函數 是對象初始化和實例化,其中包括基本參數的賦值、模型的導入、模型的訓練、模型的保存、最後返回用戶一個對象。


__train_model() 函數,對問題進行分詞,使用 gesim 實現詞袋模型,統計每個特徵的 tf-idf , 建立稀疏矩陣,進而建立索引。

__save_model() 函數 和 __load_model() 函數 是成對出現的,很多項目都會有這兩個函數,用於保存模型和導入模型。不同的是,本項目用的是文件存儲的方式,實際上線用的是資料庫

get_answer() 函數使用訓練好的模型,對問題進行分析,最終把預測的回答內容反饋給用戶。


第四步:寫三個工具類型的函數,作為讀寫文件。

其中,獲取對話材料,可以自主修改對話內容,作為機器的訓練的數據。我這里只是給了幾個簡單的對話語料,實際上線的項目,需要大量的語料來訓練,這樣對話內容才飽滿。


這三個工具函數,相對比較簡單一些。其中 get_data() 函數,裡面的數據是我自己編的,大家可以根據自己的習慣,添加自己的對話數據,這樣最終訓練的模型,對話方式會更貼近自己的說話方式。


第五步: 調用模型,進行對話預測

主函數main(), 就是你整個程序運行的起點,它控制著所有步驟。


運行結果:


程序後台運行結果:


如果有疑問想獲取源碼 其實代碼都在上面 ),可以後台私信我,回復:python智能對話。 我把源碼發你。最後,感謝大家的閱讀,祝大家工作生活愉快!

『柒』 python中如何編程求1到100之間的素數

1、新建python文件,testprimenum.py;

閱讀全文

與python趣味編程100相關的資料

熱點內容
怎麼在蘋果裡面下王者安卓版的 瀏覽:684
c語言改編程序沒保存 瀏覽:435
msdos編譯教程 瀏覽:978
怎麼去文件夾後綴 瀏覽:445
粉筆app筆試真題在哪裡 瀏覽:108
晉江小說閱讀app怎麼注冊填寫驗證 瀏覽:157
安卓手機如何將手機app安裝到u盤 瀏覽:520
指針編譯在哪運行 瀏覽:810
dnf大槍壓縮補丁 瀏覽:355
linux命令env 瀏覽:914
浙江app遙控鎖哪裡有 瀏覽:708
qq別人加密了怎樣才能給他解開 瀏覽:253
程序員離職開店 瀏覽:770
excel不能對多重區域使用此命令 瀏覽:969
手機影像演算法盤點 瀏覽:729
反編譯為什麼不能得到源代碼 瀏覽:926
php最流行的框架 瀏覽:191
cnc編程哪種軟體好 瀏覽:1004
電腦編程軟體報班學習 瀏覽:507
pull命令從手機導出指定文件 瀏覽:609