日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python02 标准输入输出、数据类型、变量、随记数的生成、turtle模块详解

發(fā)布時(shí)間:2024/6/30 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python02 标准输入输出、数据类型、变量、随记数的生成、turtle模块详解 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 標(biāo)準(zhǔn)輸出

  python3利用 print() 來(lái)實(shí)現(xiàn)標(biāo)準(zhǔn)輸出

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print"""print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)Prints the values to a stream, or to sys.stdout by default.Optional keyword arguments:file: a file-like object (stream); defaults to the current sys.stdout.sep: string inserted between values, default a space.end: string appended after the last value, default a newline.flush: whether to forcibly flush the stream."""pass

  1.1 輸出字符串

    在 sprint() 的括號(hào)中加上字符串就可以在控制臺(tái)輸出指定的文字,比如輸出 “Hello Boy” 的實(shí)現(xiàn)代碼如下

print("Hello Boy")

    

  1.2 輸出多個(gè)字符串

    print() 函數(shù)可以接收多個(gè)字符串,各個(gè)字符串之間用逗號(hào)進(jìn)行隔開(kāi),在輸出時(shí)逗號(hào)不會(huì)輸出而是用空格代替

print("Hello", "Boy", "Good", "World")

    技巧01:print() 可以接收多個(gè)字符串的原理是print() 方法可以接收任意多個(gè)參數(shù),這一點(diǎn)從源碼中可以看出;詳情請(qǐng)參見(jiàn)方法的形參部分知識(shí)點(diǎn)

    技巧02:遇到逗號(hào)用空格代替的原因是print()方法有一個(gè)默認(rèn)參數(shù) seq ,該參數(shù)的作用就是作為多個(gè)輸出值的分隔符,其默認(rèn)值就是空格  

    

    

  1.3 輸出整數(shù)或者計(jì)算結(jié)果

    輸出整數(shù)時(shí)直接會(huì)將整數(shù)進(jìn)行輸出,輸出計(jì)算結(jié)果時(shí)會(huì)對(duì)數(shù)學(xué)表達(dá)式進(jìn)行計(jì)算后再將結(jié)果進(jìn)行輸出

    

  1.4 輸出多個(gè)變量

    print() 方法也可以接收多個(gè)變量進(jìn)行輸出,各個(gè)變量之間利用逗號(hào)進(jìn)行分隔

    

  1.5 結(jié)束符

    print() 方法默認(rèn)的結(jié)束符時(shí)換行符,這一點(diǎn)從源碼中可以看出

    1.5.1 默認(rèn)結(jié)束符的效果

      

    1.5.2 自定義結(jié)束符的效果

      

?

2 標(biāo)準(zhǔn)輸入

  python3提供的input()方法可以讓用戶輸入一個(gè)字符串,并存放到一個(gè)變量中去;print()方法可以在括號(hào)中添加提示信息,這些提示信息會(huì)被輸出到控制臺(tái)

def input(*args, **kwargs): # real signature unknown"""Read a string from standard input. The trailing newline is stripped.The prompt string, if given, is printed to standard output without atrailing newline before reading input.If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.On *nix systems, readline is used if available."""pass

  2.1 輸入字符串

    

  2.2 輸入類型

    利用input()輸入的數(shù)據(jù)都是字符串類型的數(shù)據(jù)

    

    坑01:利用input()輸入的任何數(shù)據(jù)都是字符串類型的數(shù)據(jù),如果想利用輸入的數(shù)據(jù)進(jìn)行一些數(shù)學(xué)運(yùn)算就必須進(jìn)行類型轉(zhuǎn)換

    2.2.1 input()實(shí)戰(zhàn)

      需求:用戶根據(jù)提示信息提供圓的半徑和圓周率的取值,系統(tǒng)自動(dòng)輸出直徑、圓周、面積等信息

      坑01:在進(jìn)行數(shù)學(xué)計(jì)算之前如果不對(duì)數(shù)據(jù)進(jìn)行類型轉(zhuǎn)化就會(huì)報(bào)類型錯(cuò)誤

      

radius = input("請(qǐng)輸入半徑:\n") PI = input("請(qǐng)輸入圓周率的取值:\n") diameter = float(radius) * 2 area = float(PI) * float(radius) * float(radius) perimeter = float(PI) * diameter print("直徑為:", diameter, ";周長(zhǎng)為:", perimeter, "; 面積為:", area) View Code

?

3 數(shù)據(jù)類型

  在程序中不同的數(shù)據(jù)需要定義不同的數(shù)據(jù)類型

  3.1 整型

    Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在程序中的表示方法和數(shù)學(xué)上的寫法一模一樣,例如:1,100,-8080,0,等等。計(jì)算機(jī)由于使用二進(jìn)制,所以,有時(shí)候用十六進(jìn)制表示整數(shù)比較方便,十六進(jìn)制用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。

    技巧01:利用print()方法輸出十六進(jìn)制的數(shù)時(shí)輸出的是轉(zhuǎn)化成了十進(jìn)制的數(shù)

    

  3.2 浮點(diǎn)型

    浮點(diǎn)數(shù)也就是小數(shù);浮點(diǎn)數(shù)可以用數(shù)學(xué)寫法,如1.23,3.14,-9.01;但是對(duì)于很大或很小的浮點(diǎn)數(shù),就必須用科學(xué)計(jì)數(shù)法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。

    

  3.3 字符串

    字符串是以單引號(hào)'或雙引號(hào)"括起來(lái)的任意文本,比如'abc',"xyz"等等。請(qǐng)注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個(gè)字符。如果'本身也是一個(gè)字符,那就可以用""括起來(lái),比如"I'm OK"包含的字符是I,',m,空格,O,K這6個(gè)字符。如果字符串內(nèi)部既包含'又包含"怎么辦?可以用轉(zhuǎn)義字符\來(lái)標(biāo)識(shí)。

    

    

    3.3.1 多行字符串

      \n 這個(gè)轉(zhuǎn)義字符代表?yè)Q行,為了簡(jiǎn)化,Python允許用'''...'''的格式表示多行內(nèi)容

?      

  3.4 布爾型

    布爾值和布爾代數(shù)的表示完全一致,一個(gè)布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請(qǐng)注意大小寫),也可以通過(guò)布爾運(yùn)算計(jì)算出來(lái)。

    

  3.5 空值

    空值是Python里一個(gè)特殊的值,用None表示。None不能理解為0,因?yàn)?是有意義的,而None是一個(gè)特殊的空值。

  3.6 其他類型

    列表、字典等多種數(shù)據(jù)類型,還允許創(chuàng)建自定義數(shù)據(jù)類型(即:對(duì)象)

    待更新......2018-3-20 10:25:44

?  

4 變量

  變量的概念基本上和初中代數(shù)的方程變量是一致的,只是在計(jì)算機(jī)程序中,變量不僅可以是數(shù)字,還可以是任意數(shù)據(jù)類型。

  變量在程序中就是用一個(gè)變量名表示了,變量名必須是大小寫英文、數(shù)字和_的組合,且不能用數(shù)字開(kāi)頭,比如:這種變量本身類型不固定的語(yǔ)言稱之為動(dòng)態(tài)語(yǔ)言,與之對(duì)應(yīng)的是靜態(tài)語(yǔ)言。靜態(tài)語(yǔ)言在定義變量時(shí)必須指定變量類型,如果賦值的時(shí)候類型不匹配,就會(huì)報(bào)錯(cuò)。例如Java是靜態(tài)語(yǔ)言,賦值語(yǔ)句為:String name = new String("warrior");

  因?yàn)閜ython是動(dòng)態(tài)語(yǔ)言,所以一個(gè)變量的類型取決于該變量的指向,如果該變量的指向的東西的類型發(fā)生了變化,那么該變量的類型也會(huì)發(fā)生變化

  

  4.1 變量在內(nèi)存中的表示

    技巧01:在python中一切都是對(duì)象,所以python中變量存儲(chǔ)的都是地址信息而不是數(shù)據(jù)值;變量的值就是變量指向數(shù)據(jù)的地址信息

name = "warrior"

    4.1.1 python解釋器會(huì)根據(jù)上面的代碼做兩件事

      》在內(nèi)存中創(chuàng)建一個(gè)“warrior”字符串

      》在內(nèi)存中創(chuàng)建一個(gè)名為name的變量,而且該變量指向“warrior”

    4.1.2 變量之間的賦值

      

      坑01:這里并不是將name01的值賦值給了name02,而是name02指向name01指向的數(shù)據(jù)

      技巧01:因?yàn)閚ame01和name02都指向同一個(gè)字符串"warrior",所以name01和name02的內(nèi)容都是字符串"warrior"在內(nèi)存中的地址信息(備注:因?yàn)閚ame01和哪么02都指向了同一個(gè)字符串,所以他們的內(nèi)存地址是一樣的,他們的值也是一樣的)

 

      解釋:

        python解釋器在遇到?name02 = name01 這行代碼時(shí)執(zhí)行的操作

          》在內(nèi)存中創(chuàng)建一個(gè)名為name02變量

          》讓name02變量指向name01所指向的內(nèi)容(理解:name01和name02中存放的不是數(shù)據(jù),而實(shí)數(shù)據(jù)對(duì)應(yīng)的地址信息,name02 = name01實(shí)際上是將name01中存放的地址信息賦值給了name02)

    

      解釋:

        python解釋器在遇到?name02 = “fury” 這行代碼時(shí)執(zhí)行的操作

          》改變name02的指向,即:改變name02中存放的地址信息值

          技巧01:變量的指向發(fā)生變化后,變量的值以及變量的地址都會(huì)發(fā)生變化

          技巧02:變量的值就是變量指向數(shù)據(jù)的地址信息

name01 = "warrior" name02 = name01 print("name01指向的值為:",name01,"-----", "name02指向的值為:",name02) print("name01變量的地址信息為:", id(name01),"-----", "name02變量的地址信息為:", id(name02)) print(name01 is name02) print(name01 == name02) name01 = "fury" print("name01指向的值為:",name01,"-----", "name02指向的值為:",name02) print("name01變量的地址信息為:", id(name01),"-----", "name02變量的地址信息為:", id(name02)) print(name01 is name02) print(name01 == name02) View Code

?

5 隨機(jī)數(shù)

  python自帶的random模塊可以用來(lái)生成隨機(jī)數(shù)

  5.1 猜數(shù)字游戲

    5.1.1 需求

      隨機(jī)產(chǎn)生一個(gè)數(shù)字同用戶輸入的數(shù)字進(jìn)行比較,知道猜中為止

    5.1.2 代碼實(shí)現(xiàn)

      

import random randomNum = random.randint(0,10) inputNum = input("請(qǐng)輸入一個(gè)0到10之間的整數(shù):") judge = True while (judge):if (randomNum != int(inputNum)):if (randomNum < int(inputNum)):inputNum = input("大啦,請(qǐng)?jiān)谳斎胍粋€(gè)0到10之間的整數(shù):")if (randomNum > int(inputNum)):inputNum = input("小啦,請(qǐng)?jiān)谳斎胍粋€(gè)0到10之間的整數(shù):")else:print("恭喜你,才對(duì)啦!")judge = False View Code

?    5.1.3 改進(jìn)

      規(guī)定輸入次數(shù)、設(shè)定隨記數(shù)范圍

?

6 turtle模塊

?  6.1 命令介紹

    6.1.1 運(yùn)動(dòng)命令

      forward(d) -> 向前移動(dòng)d個(gè)像素點(diǎn)

      backward(d) -> 向后移動(dòng)d個(gè)像素點(diǎn)

      right(dgree) -> 向右轉(zhuǎn)動(dòng)dgree度

      left(dgree) -> 向左轉(zhuǎn)動(dòng)dgree度

      goto(x, y) -> 光標(biāo)移動(dòng)到(x, y)處

      speed(apeed) -> 設(shè)定畫筆的速度,速度值為[0, 10]之間的整數(shù)

    6.1.2 畫筆控制命令

      down() -> 畫筆落下,即:開(kāi)始畫圖

      up() -> 畫筆抬起,即:停止畫圖

        技巧01:goto(x,y) 之前一般需要執(zhí)行up(),goto(x, y)之后一般需要執(zhí)行down()  

      pensize(width) -> 設(shè)置畫筆的寬度的像素值

      pencolor(color) -> 設(shè)置畫筆的寬度

      fillcolor(color) -> 設(shè)置填充顏色

        技巧02:fillcolor(color)通常需要和 begin_fill() 和 end_fill() 配合使用

      begin_fill() -> 開(kāi)始填充顏色

      end_fill() -> 結(jié)束填充顏色

    6.1.3 特殊指令

      turtle.mainloop() -> 畫圖結(jié)束后靜止(注:其實(shí)是一直在重復(fù)畫,只是給我們個(gè)感覺(jué)是靜止而已)

  6.2 練習(xí)

    6.2.1 畫正三角形

      

# 畫三角形 import turtle t = turtle.Pen() t.fillcolor("blue") t.pencolor("red") t.pensize(4) t.begin_fill() t.forward(60) t.left(120) t.forward(60) t.left(120) t.forward(60) t.end_fill() turtle.mainloop() View Code

    6.2.2 畫奧運(yùn)五環(huán)

      

# 話奧運(yùn)五環(huán) import turtle t = turtle.Pen() t.pensize(4)t.pencolor("blue") t.circle(30)t.up() t.goto(70, 0) t.down() t.pencolor("black") t.circle(30)t.up() t.goto(140, 0) t.down() t.pencolor("red") t.circle(30)t.up() t.goto(35, -35) t.down() t.pencolor("yellow") t.circle(30)t.up() t.goto(105, -35) t.down() t.pencolor("green") t.circle(30)turtle.mainloop() View Code

    6.2.3 利用循環(huán)畫

      

import turtle # 同時(shí)設(shè)置pencolor=color1, fillcolor=color2 turtle.color("red", "yellow")turtle.begin_fill() for i in range(50):turtle.forward(200)turtle.left(170) turtle.end_fill() turtle.mainloop() View Code

?    6.2.4 畫五角星

      

import turtle t = turtle.Pen() t.pencolor("yellow") t.fillcolor("red") t.pensize(4) t.begin_fill() for i in range(5):t.forward(100)t.right(144) t.end_fill() turtle.mainloop() View Code

?

轉(zhuǎn)載于:https://www.cnblogs.com/NeverCtrl-C/p/8608164.html

總結(jié)

以上是生活随笔為你收集整理的Python02 标准输入输出、数据类型、变量、随记数的生成、turtle模块详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。