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

歡迎訪問 生活随笔!

生活随笔

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

python

初学Python可能会遇见的小程序

發(fā)布時(shí)間:2024/3/7 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初学Python可能会遇见的小程序 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

初學(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è)例子:

key = int(input('請(qǐng)輸入:')) while True:if key <= 0:key = int(input('輸入錯(cuò)誤,請(qǐng)重新輸入:'))continueelse:print(key)break

取隨機(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)

for i in range(1, 10):for j in range(1, i+1):x = i * jprint('%s * %s = %s' % (j, i, x), end=' ')print()

注意,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)容,希望文章能夠幫你解決所遇到的問題。

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