基础练习题

练习一:

- 输入学生姓名;
- 依次输入学生的三门科目成绩;
- 计算该学生的平均成绩, 并打印;
- 平均成绩保留一位小数点;
- 计算该学生语文成绩占总成绩的百分之多少?并打印。eg: 78%

name = raw_input("学生姓名:")
chinese = float(raw_input("语文成绩:"))
math = float(raw_input("数学成绩:"))
english = float(raw_input("英语成绩:"))

# 总成绩
sumScore = chinese+math+english
# 求平均成绩
avgScore = sumScore/3
# 求百分比, 0.33*100 = 33.33    ----- 33.33%
chinesePercent = (chinese / sumScore)*100

print("%s 的平均成绩为%.2f" %(name, avgScore))
print("语文成绩占总成绩的%.2f%%" %(chinesePercent))

练习二:剪刀石头布游戏

import random
# 1.从控制台输入要出的拳(石头1/剪刀2/布3)
player = int(raw_input('请输入您要出的拳:石头1/剪刀2/布3:'))

# 2.电脑出拳
computer = random.randint(1,3)
print computer

# 3.比较胜负
"""
石头胜剪刀
剪刀胜布
布胜石头
"""
if ((player == 1 and computer == 2)
    or (player == 2 and computer == 3) \
            or (player == 3 and computer == 1)):
    print '玩家胜利了~'
elif player == computer:
    print '平局'
else:
    print '玩家输了~'

  输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。
    输入样例1:2004 2
    输出结果1:本月29天
    输入样例2:2010 4
    输出结果2:本月30天

猜数字游戏

     1. 系统随机生成一个1~100的数字;
     2. 用户总共有5次猜数字的机会;
     3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
     4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
     5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;

实现命令行提示符雏形

import os

while True:
    cmd = raw_input('[kiosk@test ~]$')
    if cmd:
        if cmd == 'exit':
            print 'logout'
            break
            #print 'hello'
        else:
            print 'run %s' % cmd
            # 运行shell命令
            os.system(cmd)
    else:
        continue
        

用户登陆程序需求:
    1. 输入用户名和密码;
    2. 判断用户名和密码是否正确? (name='root', passwd='westos')
    3. 为了防止暴力破解, 登陆仅有三次机会, 如果超过三次机会, 报错提示

for i in range(3):
    name = raw_input('用户名:')
    passwd = raw_input('密码:')
    if name == 'root' and passwd == 'westos':
        print '登陆成功'
        break
    else:
        print '登陆失败'
        print '您还剩余%d次机会' %(2-i)

# 循环执行结束后执行的代码
else:
    print '登陆次数超过三次,请等待100s后再次登陆'

输入两个数值:
    求两个数的最大公约数和最小公倍数.
    最小公倍数=(num1*num2)/最大公约数

num1 = int(raw_input('Num1:'))
num2 = int(raw_input('Num2:'))
min_num = min(num1, num2)
for i in range(1, min_num + 1):
    if num1 % i == 0 and num2 % i == 0:
        # 当循环结束,保存最大公约数
        gys = i
lcm = (num1 * num2)/gys
print '%s和%s的最大公约数为%s' %(num1,num2,gys)
print '%s和%s的最小公倍数为%s' %(num1,num2,lcm)

猜你喜欢

转载自blog.csdn.net/owlcity123/article/details/82534502