Python練習 for迴圈 if巢狀語句

2021-10-25 05:02:32 字數 2614 閱讀 3396

1、輸入兩個正整數a、b,計算這兩個數的最大公約數(歐幾里得演算法)。

1)求a和b的餘數r

2)如果r=0,則a和b的最大公約數是b

3)如果r!=0,則將b的值賦給a,將r的值賦給b,重複第1)步,直到r=0

a=

int(

input

("輸入a:"))

b=int

(input

("輸入b:"))

r=a%b

while r!=0:

a=bb=r

else

:print

(f"最大公約數為:"

)

2、輸入1-10的整數,計算這個數的階乘

a=

int(

input

("輸入1-10的整數:"))

sum1=

1for i in

range(1

,a+1):

sum1*=i

print

(sum1)

3、求100-999之間的所有水仙花數.水仙花數是這個數的每一位上數字的立方和等於這個數本身,比如153=13+53+3^3=1+125+27=153

for i in

range

(100

,1000):

a=int(i//

100)

b=int(i%

100//10)

c=int(i%

100%10)

if i==a**

3+b**

3+c**3:

print

(i)

4、輸入某年某月某日,判斷這一天是這一年的第幾天?

以3月5日為例,應該先把前兩個月的天數加起來,然後再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大於3時需考慮多加一天。

y=

int(

input

("輸入年份:"))

m=int

(input

("輸入月份:"))

d=int

(input

("輸入日期:"))

sum1=

0m=m-

1if y%4==

0and y%

100!=

0or y%

400==0:

for i in

range(1

,m+1):

if m in(1

,3,5

,7,8

,10,12

):sum1+=

31elif m in(4

,6,9

,11):

sum1+=

30elif m==2:

sum1+=

29else

:for i in

range(1

,m+1):

if m in(1

,3,5

,7,8

,10,12

):sum1+=

31elif m in(4

,6,9

,11):

sum1+=

30elif m==2:

sum1+=

28print

(int

(sum1+d)

)

5、輸入一年中的月份(1-12)輸出這個月在哪個季度,如果輸入的是其他的數,則表示您輸錯了

month=

int(

input

("請輸入月份:"))

if month in(1

,2,3

):print

("第一季度"

)elif month in(4

,5,6

):print

("第二季度"

)elif month in(7

,8,9

):print

("第三季度"

)elif month in(10

,11,12

):print

("第四季度"

)else

:print

("您輸錯了!"

)

6、輸入乙個100以內的正整數,判斷這個數是奇數還是偶數

a=

int(

input

("請輸入乙個100以內的正整數:"))

if a>

0and a<

100:

if a%2==

0:print

("偶數"

)elif a%2!=

0:print

("奇數"

)else

:print

("請輸入100以內的正整數!"

)

7、 計算1+2+…+99+100的和

sum8=

0for i in

range(1

,101):

sum8+=i

print

(sum8)

Python中for迴圈練習

1 2 3 分析 先找規律,以3層為例,第一層有兩個空格 n 1 第二層有1空格 n 2 第三層沒有空格 n 3 n int input 請輸入乙個數 將行數迴圈 for i in range n 1 for j in range i 1 print i pass n為多少,列印多少個 但是每行的空...

Python練習 迴圈素數

題目描述 數字197可以被稱為迴圈素數,因為197的三個數字迴圈移位後的數字 197,971,719均為素數。100以內這樣的數字包括13個,2,3,5,7,11,13,17,31,37,71,73,79,97。求任意正整數n以內一共有多少個這樣的迴圈素數 輸入格式 乙個正整數n 輸出格式 n以內迴...

python迴圈巢狀練習

1.三角形 for i in range 1,6 for j in range 1,6 i print end for k in range 1,i 1 print end print 2.九九乘法表 for i in range 1,10 for j in range 1,i 1 print d ...