1. 程式人生 > >作業2 2018.09.14

作業2 2018.09.14

列表 練習題 put i+1 sky 成功 split 顯示 oldboy

while循環練習題
#1. 使用while循環輸出1 2 3 4 5 6 8 9 10

a=0
while a<10:
a+=1
if a>6 and a<8:
print(‘ ‘)
else:
print(a)


#2. 求1-100的所有數的和

a=0
b=0
while a<100:
a+=1
b=a+b
print(b)


#3. 輸出 1-100 內的所有奇數

a=1
while a<100:
a+=1
if a%2==1:
print(a)

#4. 輸出 1-100 內的所有偶數
a=1
while a<100:
a+=1
if a%2==0:
print(a)

#5. 求1-2+3-4+5 ... 99的所有數的和

a=1
b=0
c=0
while a<100:
if a%2==0:
b=-a
a+=1
c=a+b+c
a+=1
print(c)


#6. 用戶登陸(三次機會重試)

# name=‘seven‘
# sky=‘123‘
# x=0
# while x<3:
# name1=input("輸入用戶名>>")
# sky1=input("輸入密碼>>")
# if name1==name and sky1==sky:
# print(‘成功登陸!‘)
# break
# else:
# print(‘用戶名或密碼錯誤!‘)
# x+=1
# else:
# print(‘嘗試次數過多,鎖定!!‘)

#7:猜年齡遊戲
要求:
允許用戶最多嘗試3次,3次都沒猜對的話,就直接退出,如果猜對了,打印恭喜信息並退出


age_of_oldboy = 16
x=0
print(‘你有3次機會猜猜egon的年齡,現在開始競猜!!!‘)
while x < 3:
gues = int(input(">>:"))
if gues > age_of_oldboy and x<3:
print("猜的太大了,往小裏試試...")
x+=1;print(‘還剩下‘,3-x,‘機會‘)
elif gues < age_of_oldboy and x<3:
print("猜的太小了,往大裏試試...")
x+=1;print(‘還剩下‘,3-x,‘機會‘)
else:
print("恭喜你,答對了...")
x+=3


#8:猜年齡遊戲升級版
要求:
允許用戶最多嘗試3次
每嘗試3次後,如果還沒猜對,就問用戶是否還想繼續玩,如果回答Y或y, 就繼續讓其猜3次,以此往復,如果回答N或n,就退出程序
如何猜對了,就直接退出

age_of_oldboy=73
count=0
while True:
if count==3:
choice=input(‘繼續(Y/N)‘)
if choice==‘Y‘or choice==‘y‘:
count=0
else:
break
guess=int(input(‘輸入年齡:‘))
count+=1
if guess==age_of_oldboy:
print(‘恭喜你,猜對了‘)
break


1.寫代碼1.實現用戶輸入用戶名和密碼,當用戶名為 seven 且 密碼為 123 時,顯示登陸成功,否則登陸失敗!

# name=‘seven‘
# sky=‘123‘
# name1=input("輸入用戶名>>")
# sky1=input("輸入密碼>>")
# if name1==name and sky1==sky:
# print(‘成功登陸!‘)
# else:
# print(‘用戶名或密碼錯誤!‘)

2.實現用戶輸入用戶名和密碼,當用戶名為 seven 且 密碼為 123 時,顯示登陸成功,否則登陸失敗,失敗時允許重復輸入三次

# name=‘seven‘
# sky=‘123‘
# x=0
# while x<3:
# name1=input("輸入用戶名>>")
# sky1=input("輸入密碼>>")
# if name1==name and sky1==sky:
# print(‘成功登陸!‘)
# break
# else:
# print(‘用戶名或密碼錯誤!‘);x+=1
# else:
# print(‘嘗試次數過多,鎖定!!‘)

3.實現用戶輸入用戶名和密碼,當用戶名為 seven 或 alex 且 密碼為 123 時,顯示登陸成功,否則登陸失敗,失敗時允許重復輸入三次

# name=‘seven‘
# name2=‘alex‘
# sky=‘123‘
# x=0
# while x<3:
# name1=input("輸入用戶名>>")
# sky1=input("輸入密碼>>")
# if name1==name or name1==name2 and sky1==sky:
# print(‘成功登陸!‘)
# break
# else:
# print(‘用戶名或密碼錯誤!‘)
# x+=1
# else:
# print(‘嘗試次數過多,鎖定!!‘)

8.寫代碼
a. 使用while循環實現輸出2-3+4-5+6...+100 的和

a=2
b=0
c=0
while a<100:
if a%2==1:
b=-a
a+=1
c=a+b+c
a += 1
print(c)

b. 使用 while 循環實現輸出 1,2,3,4,5, 7,8,9, 11,12

a=1
while a<=12:
if a==6 or a==10:
print(‘ ‘)
a+=1
print(a)
a+=1

c。 使用 while 循環實現輸出 1-100 內的所有奇數

a=1
while a<=100:
if a%2==1:
print(a)
a+=1


e. 使用 while 循環實現輸出 1-100 內的所有偶數

a=1
while a<=100:
if a%2==0:
print(a)
a+=1


9.現有如下兩個變量,請簡述 n1 和 n2 是什麽關系?

n1 = 123456
n2 = n1

id(n1)==id(n2):True


升級需求:
?可以支持多個用戶登錄 (提示,通過列表存多個賬戶信息)
?用戶3次認證失敗後,退出程序,再次啟動程序嘗試登錄時,還是鎖定狀態(提示:需把用戶鎖定的狀態存到文件裏)

# dic={‘egon1‘:‘123‘,‘egon2‘:‘123‘,‘egon3‘:‘123‘}
# tag=True
# while True:
# name=input(‘輸入用戶名:‘)
# if name not in dic:
# print(‘用戶名不存在‘)
# continue
# else:
# with open(‘db.txt‘,‘r‘) as p:
# lock_uesers=p.read().split(‘|‘)
# if name in lock_uesers:
# print(‘用戶%s已經被鎖定,‘%name)
# continue
# else:
# x=0
# while tag:
# sky = input(‘輸入密碼:‘)
# if x==2:
# print(‘用戶鎖定‘)
# with open(‘db.txt‘,‘a‘) as p:
# p.write(‘%s|‘%name)
# break
# if sky == dic[name]:
# print(‘登陸成功!‘)
# break
# else:
# print(‘密碼錯誤,請重新輸入‘)
# x+=1

乘法表:

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


1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

金字塔;

max_level=5
for current_level in range(1,max_level+1):
for i in range(max_level-current_level):
print(‘ ‘,end=‘‘) #在一行中連續打印多個空格
for j in range(2*current_level-1):
print(‘*‘,end=‘‘) #在一行中連續打印多個空格
print()


*
***
*****
*******
*********

作業2 2018.09.14