python 练习题(一)

1.猜年龄游戏
要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出

#guess age
age=56   #定义年龄
count=0   #定义运行次数初始值
while count < 3:   #当次数小于3,执行下面语句
    guess = int(input("guess my age is :"))
    if guess==age:   #猜对提示,退出
        print("Yes,good!")
        break
    elif guess> age:  #猜大提示
        print("try small")
    else:             #猜小了提示
        print("try big!")
    count+=1  #统计次数

2.猜年龄游戏升级版
要求:
允许用户最多尝试3次,尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
如果猜对了,就直接退出

#guess age
age=56   #定义年龄
count=0   #定义运行次数初始值
while count < 3:   #当次数小于3,执行下面语句
    guess = int(input("guess my age is :"))
    if guess==age:   #猜对提示,退出
        print("Yes,good!")
        break
    elif guess> age:  #猜大提示
        print("try small")
    else:             #猜小了提示
        print("try big!")
    count+=1  #统计次数

第二种方法:


age=56
count=0
while count < 3:
    guess = int(input("guess my age is :"))
    if guess == age:
        print("yes,good!")
        break
    elif guess > age:
        print("try small")
    else:
        print("try big!")
    count+=1
    if count >= 3:
        con = input("continue game ( y/n )?")
        if con== 'y':
            print("welcome to continue game !")
            count = 0
        else:
            print("BYE!")

3.写代码实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!

user='seven'
passwd=123
u=input("请输入用户名:")
p=int(input("请输入密码:"))
if u==user and p==passwd:
    print("恭喜你,登陆成功!")
else:
    print("登陆失败,请检查")

4.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

user='seven'
passwd=123
count=0
while count < 3:
    u=input("请输入用户名:")
    p=int(input("请输入密码:"))
    if u==user and p==passwd:
        print("恭喜你,登陆成功!")
        break
    else:
        print("登陆失败,请检查")
    count+=1

5.实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

user1='seven'
user2='alex'
passwd=123
count=0
while count < 3:
    u=input("请输入用户名:")
    p=int(input("请输入密码:"))
    if u==user1 or u==user2 and p==passwd:
        print("恭喜你,登陆成功!")
        break
    else:
        print("登陆失败,请检查")
    count+=1

6.使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12

count=1
while count< 13:
    if count==6 or count==10:
        count+=1
        continue
    print(count)
    count+=1

7.使用while 循环输出100-50,从大到小,如100,99,98…,到50时再从0循环输出到50,然后结束

count=0
while count <=100:
    if count < 50:
        print(100-count)
        count += 1
    else:
        print(count-50)
        count+=1

8.使用 while 循环实现输出 1-100 内的所有奇数

number=1
while number <=100:
    print(number)
    number+=2

9.使用 while 循环实现输出 1-100 内的所有偶数

number=0
while number <=100:
    print(number)
    number+=2

10.使用while循环实现输出2-3+4-5+6…+100 的和

number=2
sum=0
while number <=100:
    if number% 2==0:
        sum+=number
    else:
        sum-=number
    number+=1
print(sum)

11.制作趣味模板程序
需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意显示
如:敬爱可爱的xxx,最喜欢在xxx地方干xxx

n=input("请输入你的名字: ").strip()
p=input("请输入你的地点: ").strip()
h=input("请输入你的爱好: ").strip()
print("可爱的%s,经常喜欢去%s这里%s"%(n,p,h))

12.输入一年份,判断该年份是否是闰年并输出结果。(编程题)
注:凡符合下面两个条件之一的年份是闰年。
(1) 能被4整除但不能被100整除。
(2) 能被400整除。

year=int(input("请输入年份:"))
if year%4==0 or year%400==0 and year%100!=0:
    print("%d 年是闰年" %year)
else:
    print("%d 年不是闰年" % year)

13.假设一年期定期利率为3.25%,计算一下需要过多少年,一万元的一年定期存款连本带息能翻番?(编程题)

acc=10000
rate=0.0325
year=0
while acc&lt; 20000:
acc=acc*rate+acc
year+=1
print(year)
print(acc)

14.使用while,完成以下图形的输出
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*

count=1
while count< 10:
    if count<= 5:
        print(count*"*")
    else:
        print((10-count)*'*')
    count+=1

15.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

height = 100
times = 0
total = 0
while times < 10:
    times += 1
    new_height = height/2
    total += 2*new_height
    height = new_height
print(times, new_height, total+100)

方法二 :

height = 100
times = 0
total = 0
while times < 10:
    times += 1
    height = height/2
    total += 2*height
print(times, height, total+100)

作业:双色球选购
1.双色球(假设一共八个球,6个红球,球号1-32、2个蓝球,球号1-16)
2.确保用户不能重复选择,不能超出范围
3.用户输入有误时有相应的错误提示
4.最后展示用户选择的双色球的号码
效果图:双色球作业展示
升级需求:
一个while循环
踩分点:
满分100分,按照实现的需求以及代码的规范程度来进行评分
1 基本功能(85分)
2 升级需求(5)
3 代码简洁、规范(规范请参考python代码规范(10分)

#双色球选购作业
#定义次数,列表
count=1
list_red=[]
list_blue=[]

print("----------------------\n "                       #格式化提示语
      "欢迎您选购双色球!!!\n"    
      "请您先选择红色球号码\n"
      "----------------------")
#选择红色球
while  count < 7:
    red = int(input("请您选择第%d个红色球号: " %count))
    if red not in range(1,33):                           #限制选择红色球号范围
        print("请您重新选择,超出范围!")
        continue
    elif red in list_red:                                #判断红色球号是否重复
        print("请您重新选择,此号码已选择!")
        continue
    else:                                                #红色球号添加列表
        list_red.append(red)
        count += 1
#选择蓝色球
print("-----------------------\n"                           #格式化打印提示语
      "下面开始选择蓝色球号码"      
      "\n-----------------------")
while count >= 7 and count< 9:
    blue = int(input("请您选择第%d个蓝色球号: " %(count-6))) #限制选择红蓝色球号范围
    if blue not in range(1,17):
        print("请您重新选择,超出选择范围!")
        continue
    elif blue in list_blue:
        print("请您重新选择,此号码已选择!")   #判断蓝色球号是否重复
        continue
    else:
        list_blue.append(blue)                  #已选蓝色球号添加列表
        count += 1
#列表转换字符串
list1=str(list_red)
list2=str(list_blue)
#打印所有已选择球号
print("---------------------------------------\n"
      "您所选的红色球号码: %s\n"
      "您所选的蓝色球号码:%s\n\t"
      "祝您好运!\n"
      "---------------------------------------"
      "" % (list1,list2))

猜你喜欢

转载自blog.51cto.com/13760351/2489598