day6作業(yè)

"""
str
'aksfhk',"愛康很舒服34",'\n\t'"\'
'\u4e00', chr(), ord()

獲取單個字符: 字符串[下標]

獲取部分字符(切片): 字符串[開始下標:結(jié)束下標:步長]
字符串[開始:結(jié)束]
字符串[::-1]

+,*, >,<,<=,>=,==,!=, =, +=, *=
in/not in
len()
str()

格式字符串
'姓名%s, %d, %.2f, %c' % (name, age, 12.5, 'A')
"""

  1. 輸入一個字符串叁巨,打印所有奇數(shù)位上的字符
    (下標是1铸豁,3溶推,5拥刻,7…位上的字符)
    例如: 輸入'abcd1234' 輸出'bd24'
str1 = 'abcd1234'
# 方法一: 遍歷
str2 = ''
for index in range(1, len(str1), 2):
    str2 += str1[index]
print(str2)

# 方法二: 切片
print(str1[1::2])
  1. 輸入用戶名捞烟,判斷用戶名是否合法(用戶名長度6~10位)
user_name = 'xiaoming'
if 6 <= len(user_name) <= 10:
    print('合法')
else:
    print('不合法')
  1. 輸入用戶名召庞,判斷用戶名是否合法(用戶名中只能由數(shù)字和字母組成)
    例如: 'abc' — 合法 '123' — 合法
    ‘a(chǎn)bc123a’ — 合法
user_name = 'xiao胡ming87'
for char in user_name:
    if not('a' <= char <= 'z' or 'A' <= char <= 'Z' or '0' <= char <= '9'):
        print('不合法')
        break
else:
    print('合法')
  1. 輸入用戶名,判斷用戶名是否合法(用戶名必須包含且只能包含數(shù)字和字母沦零,并且第一個字符必須是大寫字母)
    例如: 'abc' — 不合法 '123' — 不合法
    'abc123' — 不合法 'Abc123ahs' — 合法
user_name = 'Abc123ahs'
count = 0    # 數(shù)字的個數(shù)
if 'A' <= user_name[0] <= 'Z':
    for char in user_name[1:]:
        if not('a' <= char <= 'z' or 'A' <= char <= 'Z' or '0' <= char <= '9'):
            print('不合法')
            break
        else:
            if '0' <= char <= '9':
                count += 1
    else:
        if count == 0:
            print('不合法')
        else:
            print('合法')

else:
    print('不合法')
  1. 輸入一個字符串祭隔,將字符串中所有的數(shù)字字符取出來產(chǎn)生一個新的字符串
    例如:輸入'abc1shj23kls99+2kkk' 輸出:'123992'
str3 = 'abc1shj23kls99+2kkk'
new_str = ''
for char in str3:
    if '0' <= char <= '9':
        new_str += char
print(new_str)
  1. 輸入一個字符串,將字符串中所有的小寫字母變成對應的大寫字母輸出
    例如: 輸入'a2h2klm12+' 輸出 'A2H2KLM12+'
    小寫字母轉(zhuǎn)大寫字母原理
char = 'h'
new_char = chr(ord(char)-32)
print(new_char)


str4 = 'a2h2klm12+'
new_str = ''
for char in str4:
    if 'a' <= char <= 'z':
        new_char = chr(ord(char)-32)
        new_str += new_char
    else:
        new_str += char
print(new_str)
  1. 輸入一個小于1000的數(shù)字路操,產(chǎn)生對應的學號
    例如: 輸入'23'疾渴,輸出'py1902023'
    輸入'9', 輸出'py1902009'
    輸入'123',輸出'py1902123'
num = 2
n = 3    # 學號的位數(shù)
z_n = n - len(str(num))    # '0'的個數(shù)
study_id = 'py1902' + '0' * z_n + str(num)
print(study_id)
  1. 輸入字符串屯仗,將字符串的開頭和結(jié)尾變成'+'搞坝,產(chǎn)生一個新的字符串
    例如: 輸入字符串'abc123', 輸出'+bc12+'
str5 = 'abc123'
new_str = '+' + str5[1:-1]+'+'
print(new_str)
  1. 輸入字符串,獲取字符串的中間字符
    例如: 輸入'abc1234' 輸出:'1'
    輸入'abc123' 輸出'c1'
    """
    奇數(shù)個字符魁袜,中是: len//2
    偶數(shù)個字符,中是: len//2, len//2-1
    """
str6 = 'abc123'
length = len(str6)
if length % 2 == 0:
    print(str6[length//2-1], str6[length//2])
else:
    print(str6[length//2])


str1 = 'abcd1234'
# 方法一: 遍歷
str2 = ''
for index in range(1, len(str1), 2):
    str2 += str1[index]
print(str2)

# 方法二: 切片
print(str1[1::2])

1.不斷的從控制臺輸入年齡桩撮,根據(jù)年齡輸出不同的提示(例如:老年人,青壯年峰弹,成年人店量,未成年,兒童)
輸入'q'鞠呈,就退出

# while True:
#   value = input('請輸入年齡,輸入q結(jié)束:')

#   if value == 'q':
#       break

#   age = int(value)
#   if age <= 12:
#       print('兒童')
#   elif age < 18:
#       print('未成年')
#   elif age <= 50:
#       print('青壯年')
#   else:
#       print('老年')  

2.計算5的階乘 5!的結(jié)果是

# 5! = 5*4*3*2*1
print('==============第二題============')
n = 5
sum1 = 1
for x in range(1, n+1):
    sum1 *= x

print(sum1)  

3.求1+2!+3!+...+20!的和
思路: 1. 先分別取出1~20 2.求每次取出的數(shù)的階乘

n = 20
sum2 = 0  # 保存最后的和
for num in range(1, n+1):
    sum1 = 1   # 保存每個數(shù)的階乘
    for x in range(1, num+1):
        sum1 *= x

    sum2 += sum1

print(sum2)

練習: 外面的for循環(huán)循環(huán)第5次的時候, 里面的循環(huán)第3次融师, sum1的值和sum2的值分別是多少。寫出執(zhí)行過程

# sum1 - 6, sum2 - 33

"""
num = 1,2,3,4,5...20
num = 1, 
    sum1 = 1
    x = 1
    x = 1: sum1 = 1
    sum2 += sum1 = 1
num = 2
    sum1 = 1
    x = 1, 2
    x = 1, sum1 = 1
    x = 2, sum1 = 1*2
    sum2 = 1 + 2 = 3
num = 3
    sum1 = 1
    x = 1,2,3
    x = 1, sum1 = 1
    x = 2, sum1 = 2
    x = 3, sum1 = 6
    sum2 = 3 + 6 = 9
num = 4
    sum1 = 1
    x = 1,2,3,4
    x = 1, sum1 = 1
    x = 2, sum1 = 2
    x = 3, sum1 = 6
    x = 4, sum1 = 24
    sum2 = 9 + 24 = 33
num = 5
    sum1 = 1
    x = 1,2,3,4,5
    x = 1, sum1 = 1
    x = 2, sum1 = 2
    x = 3, sum1 = 6

"""

5.循環(huán)輸入大于0的數(shù)字進行累加蚁吝,直到輸入的數(shù)字為0旱爆,就結(jié)束循環(huán),并最后輸出累加的結(jié)果

print('==================第五題==================')
# sum1 = 0
# while True:
#   value = int(input('請輸入一個數(shù):'))
#   if value == 0:
#       break

#   sum1 += value
# print(sum1)

練習: 猜數(shù)字游戲
隨機產(chǎn)生一個數(shù)窘茁,用戶不斷輸入數(shù)字怀伦,直到輸入的數(shù)字和產(chǎn)生的隨機數(shù)一樣,游戲就結(jié)果山林。
游戲過程中房待,根據(jù)輸入的數(shù)字做相應的提示(大了,小了)

# random是python提供的和隨機數(shù)相關(guān)的模塊
import random  
"""
random.randint(M,N)  - 產(chǎn)生一個M~N的隨機整數(shù)
"""
# print('===============歡迎來到猜數(shù)字游戲=================')
# num = random.randint(0, 100)
# count = 0
# while True:
#   value = int(input('請輸入:'))
#   count += 1
#   if value == num:
#       print('??恭喜你猜對了!!??, 總共猜了', count, '次!')
#       break
#   elif value > num:
#       print('??大了, 再小點兒')
#   else:
#       print('??小了,再大點兒')

5.求s=a+aa+aaa+aaaa+aa...a的值捌朴,其中a是一個數(shù)字吴攒。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加有鍵盤控制砂蔽。

# 3, 33, 333
"""
3 = 0*10 + 3
33 = 30 + 3 = 3*10 + 3
333 = 330+3 = 33*10 + 3
3333 = 3330+3 = 333*10 + 3

規(guī)律: 當前項 = 前一項*10 + 3
"""
n = 5   # 決定總共有多少項
a = 2   # 每一項上的每一位是多少
sum1 = 0
num = 0    # 保存求和的每一項
for x in range(6):
    num = num * 10 + a
    print(num)
    sum1 += num
print(sum1)

補充: print的定制
可以在print括號的最后通過end來設置一個print結(jié)束后的效果;還可以通過sep來設置多個數(shù)據(jù)之間的間隔

6.根據(jù)n的值的不同洼怔,輸出相應的形狀

print('=========補充==========')
print('*', end=',')
print('*')
print(10, 20, sep='+++++', end=' ')
print(100)  

"""
n = 5
*****
****
***
**
*

n = 4
****     
***
**
*
"""
n = 7
for x in range(n, 0, -1):
    # print('*' * x)
    for _ in range(x):
        print('*', end='')
    print()

b.根據(jù)n的值的不同,輸出相應的形狀(n為奇數(shù))
"""

n = 5
  *
 ***
*****

1:   1星  2空   1+2*2 = 5 
2:   3星  1空   3+1*2 = 5
3:   5星  0空   5+0*2 = 5


n = 7
   *       1   3s      1+3*2 = 7
  ***      3x  2s      3+2*2 = 7
 *****     5x  1s      5+1*2 = 7
*******    7x  0s      7+0*2 = 7

規(guī)律: 每一行星個數(shù)+空格數(shù)的2倍 == n
"""
n = 11
for star in range(1, n+1, 2):
    space = int((n - star) / 2)
    # 打印空格
    for _ in range(space):
        print(' ', end='')
    # 打印*
    for _ in range(star):
        print('*', end = '')
    print()


"""
n = 5
  *
 ***
*****
 ***
  *

 n = 7
   *
  ***
 *****
*******
 *****
  ***
   *
"""

10.這是經(jīng)典的"百馬百擔"問題左驾,有一百匹馬镣隶,馱一百擔貨极谊,大馬馱3擔,中馬馱2擔安岂,兩只小馬馱1擔轻猖,問有大,中域那,小馬各幾匹咙边?

for small in range(2, 101, 2):
    for big in range(1, 34):
        for middle in range(1, 51):
            if (small + big + middle == 100) and (small/2 + big*3 + middle * 2 == 100):
                print('大:',big,'中:', middle, '小:', small)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市次员,隨后出現(xiàn)的幾起案子败许,更是在濱河造成了極大的恐慌,老刑警劉巖淑蔚,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件市殷,死亡現(xiàn)場離奇詭異,居然都是意外死亡刹衫,警方通過查閱死者的電腦和手機醋寝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來带迟,“玉大人音羞,你說我怎么就攤上這事∮士酰” “怎么了黄选?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵蝇摸,是天一觀的道長婶肩。 經(jīng)常有香客問我,道長貌夕,這世上最難降的妖魔是什么律歼? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮啡专,結(jié)果婚禮上险毁,老公的妹妹穿的比我還像新娘。我一直安慰自己们童,他們只是感情好畔况,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著慧库,像睡著了一般跷跪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上齐板,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天吵瞻,我揣著相機與錄音葛菇,去河邊找鬼。 笑死橡羞,一個胖子當著我的面吹牛眯停,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卿泽,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼莺债,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了签夭?” 一聲冷哼從身側(cè)響起九府,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎覆致,沒想到半個月后侄旬,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡煌妈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年儡羔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片璧诵。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡汰蜘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出之宿,到底是詐尸還是另有隱情族操,我是刑警寧澤,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布比被,位于F島的核電站色难,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏等缀。R本人自食惡果不足惜枷莉,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尺迂。 院中可真熱鬧笤妙,春花似錦、人聲如沸噪裕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膳音。三九已至召衔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間严蓖,已是汗流浹背薄嫡。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工氧急, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人毫深。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓吩坝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親哑蔫。 傳聞我的和親對象是個殘疾皇子钉寝,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容