初学Python可能会遇见的小程序
初學(xué)Python可能會(huì)遇見的小程序
- 前言
- 《孫子算經(jīng)》中的典例
- 取隨機(jī)數(shù)問題
- “水仙花數(shù)”問題
- for循環(huán)
- while循環(huán)
- 九九乘法表
- 簡(jiǎn)單選擇排序
- 回文數(shù)問題
- 序列的分片
- .reverse() 運(yùn)算
- 猜數(shù)小游戲
前言
本文總結(jié)了在大一上這一學(xué)期內(nèi)我覺得比較經(jīng)典的一些Python小程序,其中有一部分是我的授課老師在課上布置的任務(wù),但代碼都是我自己敲的。期待大家在評(píng)論區(qū)留下寶貴的意見~
《孫子算經(jīng)》中的典例
問:今有物不知其數(shù),三三數(shù)之余二,五五數(shù)之余三,七七數(shù)之余二,問幾何?
n = 0 while True:n = n + 1if n % 3 == 2 and n % 5 == 3 and n % 7 == 2:print('符合條件的數(shù)是%s' % n)break這里介紹一下 while True 的用法:
whileTrue 意思是要一直進(jìn)行死循環(huán),所以通常會(huì)在while true循環(huán)中加入break條件判斷,用來使在循環(huán)內(nèi)部的某個(gè)條件達(dá)成時(shí)終止循環(huán),通常用于需要多次輸入并判斷的場(chǎng)景,比如輸入密碼的程序。下面是一個(gè)例子:
取隨機(jī)數(shù)問題
請(qǐng)X側(cè),第X排,第X列的同學(xué)回答問題。
import random a = random. randint(0, 1) b = random. randint(1, 10) c = random. randint(1, 10) if a == 0:a = '左' else:a = '右' print('請(qǐng)%s側(cè),第%s排,第%s列的同學(xué)來回答問題。'%(a, b, c))“水仙花數(shù)”問題
例如153,三位數(shù),33+53+1^3=153,寫一個(gè)程序,輸出所有的水仙花數(shù)
這里介紹兩種方法:
for循環(huán)
for x in range(100,1000):a = x // 100b = x // 10 - a * 10c = x % 10if x == a**3 + b**3 + c**3:print(x)while循環(huán)
x = 100 while x < 1000:a = x // 100b = x // 10 - a * 10c = x % 10if x == a**3 + b**3 + c**3:print(x)x += 1 # += 表示增強(qiáng)賦值九九乘法表
按照九九乘法表的格式,寫一個(gè)程序,輸出一個(gè)九九乘法表:
這里要用到嵌套循環(huán)
注意,pycharm里的print() 函數(shù)默認(rèn)換行,設(shè)置end=’ 'print() 就不會(huì)進(jìn)行換行操作,當(dāng)這個(gè)循環(huán)完成后設(shè)置print() 換行。
簡(jiǎn)單選擇排序
a = [23, 45, 13, 9, 52, 18] for i in range(len(a)):for j in range(i+1, len(a)):if a[i] > a[j]:a[i], a[j] = a[j], a[i] #更換列表元素的位置 print(a)說明一下,Python里有內(nèi)置函數(shù)sort() ,可直接將序列進(jìn)行升降排序,寫這個(gè)程序的目的是為了更好地理解嵌套循環(huán)。
回文數(shù)問題
回文數(shù)問題我們可以用序列的通有方法或列表的專有方法來解決:
序列的分片
x = input('請(qǐng)輸入一個(gè)數(shù):') y = x[::-1] if x == y:print('%s是回文數(shù)' % x) else:print('%s不是回文數(shù)' % x).reverse() 運(yùn)算
x = input('請(qǐng)輸入一個(gè)數(shù):') a = list(x) b = a[:] a.reverse() if a == b:print('%s是回文數(shù)' % x) else:print('%s不是回文數(shù)' % x)注意,這兩種方法是有很大的區(qū)別的,序列的通用方法不改變?cè)辛斜?#xff0c;而.reverse() 運(yùn)算會(huì)改變?cè)辛斜?#xff0c;故一般推薦使用序列的通用方法。
猜數(shù)小游戲
設(shè)計(jì)一個(gè)程序,計(jì)算機(jī)隨機(jī)生成一個(gè)數(shù),輸入猜數(shù),若猜對(duì),輸出“good guess!”,若猜錯(cuò),計(jì)算機(jī)會(huì)告知猜大了還是猜小了,5次機(jī)會(huì)之后,游戲結(jié)束(“game over!”)
import random a = random.randint(1, 10) n = 1 while n <= 5:b = int(input())if b == a:print('good guess!')breakelif b > a:print('your guess > the key, please try again!')n = n + 1elif b < a:print('your guess < the key, please try again!')jn = n + 1 if n > 5:print('game over!')print('the key is', a)總結(jié)
以上是生活随笔為你收集整理的初学Python可能会遇见的小程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 缓冲液的配制(PBS与PBST)
- 下一篇: Python之正则表达式