歡迎大佬來指出我的問題
今天的主要主題是:條件陳述句和while回圈
簡單的條件陳述句 一般是只有如果或者否則,最多只能判斷兩個,簡單的一句話就是,當條件成立的時候應該執行什么陳述句,當條件不成立的時候又應該執行什么陳述句,下面直接上例子
1.輸入一個整數,判斷他是奇數還是偶數
n = int(input('Enter:')) #輸入一個數并且轉換成整數型
if n%2==0: #如果n除以2等于0那就是偶數
print('Even')
else:
print('odd')
2.輸入一個整數,輸出絕對值
n=int(input('Enter:'))
if n>=0:
print(n)
else:
print(-n) #為什么是-n,因為負負得正,
3.輸入兩個整數,輸出較大的一個,如果a和b,當a>b時a就是最大的,否則就是b,
a=float(input('a='))
b=float(input('b='))
c=a
if a<b:
c=b
print('最大的數是%.0f' %c)
4.比較三個數的大小,與上面這條題目類似,
a=float(input('a='))
b=float(input('b='))
c=float(input('c='))
d=a
if a<b:
d=b
else:
d=c
print(d)
復雜條件陳述句 可以多陳述句進行分支嵌套,簡稱復制條件陳述句,適用與多判斷的條件陳述句中.需要非常注意縮進問題,
常見的陳述句搭配就是if elif elif else等等,其中elif中可以嵌套許多elif進行使用,
1.輸入一個學生的成績進行判斷A[90,100]B[80,90]C[70,79]D[60,69]E[0,59]五個等級進行劃分
even=float(input('Enter even:'))
if even<0 or even>100: #如果輸入的成績小于0或者大于100顯示成績錯誤!
print('Even error')
elif even>=90: #大于等于90分等級為A,以此類推
print('A')
elif even>=80:
print('B')
elif even>=70:
print('C')
elif even>=60:
print('D')
else:
print('E')
2.輸入0-6整數,并且輸出星期幾
w=int(input('w='))
if w==0:
print('今天是一周的開始星期日')
elif w==1:
print('今天是一周的第一天上班星期一')
elif w==2:
print('今天是一周中最煩的一天星期二')
elif w==3:
print('今天是一周中最快的一天星期三')
elif w==4:
print('今天是一周中吃得最好的一天星期四')
elif w==5:
print('今天是一周最開心的一天星期五')
elif w==6:
print('今天是一周中睡的最香的一天星期六')
else:
print('暫時沒有匹配到關于你的星期日程')
3.一元二次方程的解
import math
a=float(input('a=')) #輸入abc并且轉換成浮點數
b=float(input('b='))
c=float(input('c='))
if a!=0: #如果a不等于0執行下面陳述句
d=b*b-4*a*c
if d>0:
d=math.sqrt(d)
x1=(-b+d)/2/a
x2=(-b - d) / 2 / a
print('x1=',x1,'x2=',x2)
elif d==0:
print('x1','x2=',-b/2/a)
else:
print('無實數解')
else:
print('不是一元二次方程解')
while回圈陳述句
需要三部分,回圈變數的初始化 回圈條件 回圈體即可,
1.有次數的回圈
n=0 #回圈的初始化
while n<3: #回圈條件是小于3
print(n) #列印n的值
n=n+1 #回圈一次加1
print('Last',n) #結束
2.死回圈
i=0 #初始化i為0
while i<4: #然后條件是i是小于4的,所以條件成立,一直做回圈即可
print(i)
3.計算1+2+3.....n的和,n讓用戶進行控制輸入
n=int(input('n='))
s=0 #初始化變數
m=1 #循壞變數
while m<=n: #當m小于等于n的時候執行羨慕回圈體
s=s+m
m=m+1
print(s)
4.求 1+2+3+4.....100等于多少
q=0
w=1
while w<=100:
q=q+w
w=w+1
print(q)
5. 輸入五個同學的成績 求平均成績
s=0 #初始化成績為0
i=1 #回圈體為1
while i<6: #i小于6,到5就結束了
m=float(input('第'+str(i)+'個同學的成績:'))
s=s+m
i=i+1
print('平均成績為:',s/5)
6.反轉整數 輸入一個數1234 變成4321即可
n=int(input('n='))
s=''
while n!=0:
m=n%10
s=s+str(m)
n=n//10
print(s)
7.有理數的除法的精確計算
#輸入p
p=0
while p<=0:
p=int(input('enter p:'))
#輸入q
q=0
while q<=0:
q=int(input('enter q:'))
#輸入n
n=0
while n<=0:
n=int(input('需要保留小數點幾位:'))
#p/q
s=str(p//q) #取整除并且交給s處理
r=p%q #取余并且交給r進行處理
if r!=0: #如果取余不等于0的話就在后面加上.
s=s+'.'
i=0 #初始化為0
while r!=0 and i<n: #回圈的條件是r不能等于0并且i要小于n
r=10*r #10倍的r
s=s+str(r//q) #重復進行取整 然后轉換成成字串 再交給s
r=r%q #對r進行取余
i=i+1
print('%d/%d=%f' %(p,q,p/q))
print('%d/%d=%s' %(p,q,s))
關于while回圈的退出
可以分為正常退出和中途退出
1.正常退出
i=0
while i<4:
print(i)
i+=1
print('結束為:',i) #到回圈體末端就自動進行退出
2.break中途退出
i=0
while i<10:
print(i)
if i==6: #當i等于6的時候就會觸發退出的操作,本來是要回圈到9的,所以這叫中途退出
break
i+=1
print('結束為:',i)
下面幾個幾個案例讓您了解一下關于while退出的原理
1.輸入一個整數 判斷是否為素數也就是質數 只能被1和自身整除的數
n=int(input('n='))
m=2 #初始值為2開始
while m<n:
if n%m==0: #一直除以一個數,除到n,如果取余的結果為0,那么就退出回圈
break
m+=1
if m==n:
print(n,'這是一個素數')
else:
print(n,'這個數不是素數')
2.輸入兩個正整數,找出他們的最小公倍數
a=int(input('a='))
b=int(input('b='))
if a>b:c=a #首先找出最大的值
else:c=b
m=a*b #把輸入的值進行相乘并且遞交給m
while c<=m: #做回圈體
if c%a==0 and c%b==0:
break
c+=1
print(c)
3.輸入兩個數 找出最大公約數
a=int(input('a='))
b=int(input('b='))
if a>b:c=b #先找出最小值
else:c=a
while c>=1:
if a%c==0 and b%c==0:
break
c=c-1
print(c)
總結小案例
輸入成績 在0-100的范圍內的,如果不在范圍內就一直輸出
#while回圈寫
while True:
m=float(input('請輸入成績0-100:'))
if m>=0 and m<=100:
break
else:print('你輸入的成績不符合規定要求')
print('您的成績為:',m)
#使用con變數來控制回圈也是可以的
con=True
while con:
m = float(input('請輸入成績0-100:'))
if m >= 0 and m <= 100:
con=False
print('你的成績是:',m)
#也可以使用m來控制,讓回圈開始
m=-1
while m<0 or m>100:
m=float(input('輸入成績0-100:'))
print('你輸入的成績是',m)
#模擬qq登錄
while True:
qq=int(input('QQ:'))
passwd=int(input('Password:'))
if qq==88888 and passwd==99999:break
else:print('登錄失敗,您輸入賬號或者密碼有誤')
print('登錄成功')
'''
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/386870.html
標籤:其他
上一篇:python連接資料庫,處理資料結果后生成excel檔案
下一篇:AUC計算python實作
