程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python編程題每日一練day2(附答案)

編輯:Python

Python編程題每日一練day2

    • Python編程題每日一練day1(附答案)
    • 一、被8整除的數字
    • 二、 九九乘法表
    • 三、 判斷素數
    • 四、重復出現的字符串
    • 五、密碼游戲
    • 結束語

提高編程能力的最有效辦法就是敲代碼

作者簡介:大家好我是編程ID
個人主頁:編程ID的csdn博客
系列專欄:Python
推薦一款編程題刷題神器點擊跳轉進入網站

Python編程題每日一練day1(附答案)

一、被8整除的數字

題目:編寫一個 while 循環判斷輸入的字符串對應的十進制數值是否是被8整除的數字,要求使用布爾變量 active 來控制循環結束的時機。
每次循環開始先使用print()語句一行輸出字符串 “Please enter a positive integer!\nEnter ‘quit’ to end the program.” ,
如果讀取到字符串等於’quit’,則把布爾變量 active 的值更改為False,
否則將字符串轉成整數,如果能被8整除即是8的倍數,則使用print()語句一行輸出類似字符串’80 is a multiple of 8.'的語句,
否則使用print()語句一行輸出類似字符串’4 is not a multiple of 8.‘的語句,
然後本次循環結束,再次進入 while 循環中的條件測試。
輸入描述
保證每一行的輸入只有數字或字符串’quit’,且保證數字合法,范圍在[1, 100]。

active = True
while active:
num = raw_input()
print("Please enter a positive integer!\nEnter 'quit' to end the program.")
if num=='quit':
active = False
elif int(num) not in range(1,101):
active = False
elif int(num)%8==0:
print('{} is a multiple of 8.'.format(num))
else:
print('{} is not a multiple of 8.'.format(num))

二、 九九乘法表

題目:史真香正在背九九乘法表,他想將乘法表打印下來。現輸入一個數n,請打印九九乘法表中的1~n行。(第一個乘數為行號,式子與式子之間按照空格間隔開)
輸入描述
輸入一個整數n,1\le n\le 91≤n≤9
輸出描述
輸出九九乘法表前n行。
示例1
輸入:3
輸出

1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
n = int(input())
for i in range(1, n + 1): # 在區間(1, n + 1)裡
for j in range(1, i + 1):
ans = i * j # 乘法結果
# 以 f 開頭,包含的{}表達式在程序運行時會被表達式的值代替
print(f"{
i}*{
j}={
ans}", end = " ")
print() # 每個數字乘完了換行

三、 判斷素數

題目:素數即除了1和自身,沒有別的因數。牛牛想知道一個數字n是否是素數,請用Python程序幫助他判斷。
輸入描述
輸入一個正整數n,n>2
輸出描述
如果是素數,則輸出Yes,否則輸出No。
示例1
輸入:7
輸出:Yes

num = input()
flag = "Yes"
if num <= 2:
print "wrong input"
else:
for i in range(2,num+1):
if i * i < num:
if num % i == 0:
flag = "No"
break
else:
break
print flag

四、重復出現的字符串

題目:字符串target是一個較長的字符串,請在字符串target中找出模式串patten出現的次數,並找到其出現的第一個位置。(子串不重疊統計,如果沒有找到,位置為-1)
輸入描述
第一行輸入target,第二行輸入patten。
所有字符串都只包含大小寫字母。
輸出描述:
第一行輸出patten在target中出現的次數,為非負數。
第二行輸出patten在target中第一次出現的位置,沒有則輸出-1。(位置從下標0開始)
示例1
輸入
IamNiuNiuFromNiuKeWang
Niu

輸出
3
3

t = raw_input()
p = raw_input()
print t.count(p)
print t.find(p)

五、密碼游戲

題目:小明和妹妹一起玩密碼游戲,小明作為發送方會發送一個4位數的整數給妹妹,妹妹接收後將對密碼進行破解。
破解方案如下:每位數字都要加上3再除以9的余數代替該位數字,然後將第1位和第3位數字交換,第2位和第4位數字交換。
請輸出牛妹破解後的密碼。
輸入描述
輸入一個四位數的整數。
輸出描述
輸出破解後的密碼,以四位數的形式。
示例1
輸入:1234
輸出:6745
備注:輸入不會有前置0,但是輸出要保持前置0

num = int(input())
a = num//1000 #1
b = (num-a*1000)//100 #2
c = (num-a*1000-b*100)//10#3
d = (num-a*1000-b*100-c*10)#4
new_c = (a+3)%9 #4
new_d = (b+3)%9 #5
new_a = (c+3)%9 #6
new_b = (d+3)%9 #7
new_num = new_a*1000+new_b*100+new_c*10+new_d
if new_a != 0:
print(new_num)
else:
print('0' + str(new_b*100+new_c*10+new_d))

題目:小明、妹妹、小紅在一起討論自己的幸運數字的大小。根據輸入依次用列表記錄三人的幸運數字,然後找出其中最小的幸運數字是多少?並輸出列表排序後的結果。
輸入描述
依次輸入三個整數。
輸出描述
第一行輸出三人中最小的幸運數字。
第二行輸出排序後的列表。
示例1
輸入

5
4
3
輸出
3
[3, 4, 5]

a = []
niu = int(input())
mei = int(input())
kele = int(input())
a.append(niu)
a.append(mei)
a.append(kele)
print(min(a))
print(sorted(a))

結束語

非常好用的一個刷題網站!大家一起努力!加油!!!
題目難度可以自行選擇
在線編程出答案,(也可自行查看答案)非常方便
程序員刷題神器網站點擊鏈接注冊即可刷題


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved