练习01

格式化输出

name = '高园园'
num = 123456
score = 60.0
percent = score/120*100
print '%s的学号是%d,成绩为%.2f,成绩为总成绩的%.2f%%' %(name,num,score,percent)  

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

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

avg = (math + chinese + english) / 3
percent = chinese / (math + chinese + english)
print '%s的平均成绩为%.2f,语文成绩占总成绩的%.2f%%' % (name, avg, percent * 100)

 

# 判断闰年?
# 用户输入年份year, 判断是否为闰年?
#  year能被4整除但是不能被100整除 或者 year能被400整除, 那么就是闰年;

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

 

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

 2. 用 if 判断输入的值是否为空?如果为空,报错Error

 3. 根据用于指定月份,打印该月份所属的季节。
**提示: 3,4,5 春季 6,7,8 夏季  9,10,11 秋季 12, 1, 2 冬季

year = raw_input('请输入年份:')
month = raw_input('请输入月份:')
if year == '' or month == '':
    print 'Error'
if month == 3 or month == 4 or month == 5:
    print '本季度为春季'
if month == 6 or month == 7 or month == 8:
    print '本季度为夏季'
if month == 9 or month == 10 or month == 11:
    print '本季度为秋季'
if month == 12 or month == 1 or month == 2:
    print '本季度为冬季'
if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 11:
    print '本月31天'
elif month == 4 or month == 6 or month == 9 or month == 12:
    print '本月30天'
elif month == 2 and year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print '本月29天'
else:
    print '本月28天'

猜拳

import random

player = int(raw_input('请输入你要出的拳(石头1/剪刀2/布3):'))
computer = random.randint(1,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 '玩家输'

 # 输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开。
# 如输入: This is a c++ program. 输出:There are 5 words in the line.

a = raw_input('请输入一串英文字符:')
m = a.split()
b = len(m)
print 'There are %d words in the line.' % b

# 给出一个字符串,在程序中赋初值为一个句子,例如
# "he threw three free throws",
# 自编函数完成下面的功能:
# 1)求出字符列表中字符的个数(对于例句,输出为26)

a = raw_input('请输入一串字符:')
b = len(a)
print b

 # 给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符:
# 'A' : Absent,缺勤
# 'L' : Late,迟到
# 'P' : Present,到场
# 如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两个连续的'L'(迟到),
# 那么这个学生会被奖赏。
# 你需要根据这个学生的出勤纪录判断他是否会被奖赏。
# 示例 1:
# 输入: "PPALLP"
# 输出: True
# 示例 2:
# 输入: "PPALLL"
# 输出: False

a = raw_input('请输入:')
print a.count('A') <= 1 and a.count('LLL') == 0

打印菱形

n = int(raw_input('请输入一个奇数:'))
for i in range(1, n, 2):
    print ('*' * i).center(3 * n)
for i in range(n, 0, -2):
    print ('*' * i).center(3 * n)

 0~100之间所有数字的累积求和

i = 0
n = 0
while i <= 100:
    n += i
    i += 1
print '0~100之间所有数字的累积求和的结果为%d' % n

 计算0~100之间所有偶数的累积求和

i = 0
n = 0
while i <= 100:
    if i % 2 == 0:
        n += i
    i += 1
print '0~100之间所有偶数的累积求和的结果为%d' % n

 计算0~100之间所有奇数的累积求和

i = 0
n = 0
while i <= 100:
    if i % 2 == 1:
        n += i
    i += 1
print '0~100之间所有偶数的累积求和的结果为%d' % n

 在控制台连续输出五行*,每一行星号的数量依次递增

raw = 1
while raw <= 5:
    col = 1
    while col <= raw:
        print '*',
        col += 1
    raw += 1
    print ''

 打印九九乘法表

raw = 1
while raw <= 9:
    col = 1
    while col <= raw:
        print '%d*%d=%d\t' % (raw, col, raw * col),
        col += 1
    raw += 1
    print ''

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

import random

num = random.randint(1, 100)
i = 0
while i < 5:
    j = int(raw_input('请输入你要猜的数字:'))
    if j > num:
        print 'too big'
    elif j < num:
        print 'too small'
    else:
        print '恭喜'
        break
    i += 1

实现命令行提示符雏形

import os

while True:
    cmd = raw_input('[kiosk@foundation5 python]$ ')
    if cmd:
        if cmd == 'exit':
            print 'layout'
            break
        else:
            print 'run %s' % cmd
            os.system(cmd)

# 用户登陆程序需求:
#     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)
    i += 1
else:
    print '请过一会在登陆'

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

num1 = int(raw_input('nmu1:'))
num2 = int(raw_input('num2:'))
min_num = min(num1, num2)
for i in range(min_num, 0, -1):
    if num1 % i == 0 and num2 % i == 0:
        m = i
        break
n = num1 * num2 / m
print '%d和%d的最大公约数为%d' % (num1, num2, m)
print '%d和%d的最小公倍数为%d' % (num1, num2, n)# 输入两个数值:
#     求两个数的最大公约数和最小公倍数.
#     最小公倍数=(num1*num2)/最大公约数

 变量名是否合法?
# #
# # 变量名可以由字母,数字或者下划线组成;
# # 变量名只能以字母或者下划线开头;
#
# s = "hello@"

# 1. 判断变量名的第一个元素是否为字母或者下划线; s[0]
# 2. 如果第一个元素符合条件, 判断除了第一个元素的其他元素;s[1:]

i = raw_input('请输入变量名:')
if i[0].isalpha() or i[0] == '_':
    for j in i[1:]:
        if not(j.isalnum() or j == '_'):
            print '变量名不合法'
            break
    else:
        print '变量名合法'
else:
    print '变量名不合法'

示例 1:
        输入: 121
        输出: true
示例 2:
        输入: -121
        输出: false
        解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
        输入: 10
        输出: false
        解释: 从右向左读, 为 01 。因此它不是一个回文数。

i = raw_input('请输入:')
if i == i[::-1]:
    print '%s是回文数' % i
else:
    print '%s不是回文数' % i

 

(2017-小米-句子反转)
- 题目描述:
> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前>后没有空格。
比如: (1) “hello xiao mi”-> “mi xiao hello”
- 输入描述:
> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
- 输出描述:
> 对于每个测试示例,要求输出句子中单词反转后形成的句子

- 示例1:

```
- 输入
    hello xiao mi
- 输出
    mi xiao hello

i = raw_input('请输入:')
j = i.split()
k = " ".join(j[::-1])
print k

 1. 设计一个程序,帮助小学生练习10以内的加法
    详情:
        - 随机生成加法题目;
        - 学生查看题目并输入答案;
        - 判别学生答题是否正确?
        - 退出时, 统计学生答题总数,正确数量及正确率(保留两位小数点);

import random

tr = 0
all = 0
while True:
    n = random.randint(1, 10)
    m = random.randint(1, 10)
    print '%d+%d=' % (n, m),
    ans = int(raw_input(''))
    if ans == n + m:
        tr += 1
    all += 1
    choose = raw_input('do you want continue,enter enter to continue:')
    if choose != '':
        break
print '您总共答了%d道题,答对了%d道,正确率%.2f%%' % (all,tr,float(tr)/all*100.0)

2. 小学生算术能力测试系统:
设计一个程序,用来实现帮助小学生进行百以内的算术练习,它具有以下功能:
提供10道加、减、乘或除四种基本算术运算的题目;
练习者根据显示的题目输入自己的答案,程序自动判断输入的答案是否正确并显示出相应的信息。

import random

op = ['+', '-', '*', '/']
s = random.choice(op)

while True:
    s = random.choice(op)
    m = random.randint(1, 10)
    n = random.randint(1, 10)
    if s == '+':
        print '%d+%d=' % (m, n),
        input = int(raw_input(''))
        if input == m + n:
            print '回答正确'
        else:
            print '回答错误,正确答案为%d' % (m + n)
    elif s == '*':
        print '%d*%d=' % (m, n),
        input = int(raw_input(''))
        if input == m * n:
            print '回答正确'
        else:
            print '回答错误,正确答案为%d' % (m * n)
    elif s == '-':
        if m > n:
            print '%d-%d=' % (m, n),
            input = int(raw_input(''))
            if input == m - n:
                print '回答正确'
            else:
                print '回答错误,正确答案为%d' % (m - n)
        else:
            print '%d-%d=' % (n, m),
            input = int(raw_input(''))
            if input == n - m:
                print '回答正确'
            else:
                print '回答错误,正确答案为%d' % (n - m)
    else:
        print '%d/%d=' % (m, n),
        input = int(raw_input(''))
        if input == m / n:
            print '回答正确'
        else:
            print '回答错误,正确答案为%d' % (m / n)
    choose = raw_input('do you want continue,enter enter to continue:')
    if choose != '':
        break

3. 算法之指定范围内判断
    1). 若一个正整数n的所有小于n的因子之和等于n, 则称n为完全数, 如6=1+2+3是完全数。判断正整数n是否为完全数。

INPUT = int(raw_input('请输入:'))
n = 0
for i in range(1,INPUT):
    if INPUT % i == 0:
        n += i
if n == INPUT:
    print '%d 是完全数' % INPUT
else:
    print '%d不是完全数' % INPUT

    2). 输入一个正整数,判断其是否为一个素数

INPUT = int(raw_input('请输入:'))
for i in range(2, INPUT):
    if INPUT % i == 0:
        print '%d 不是素数' % INPUT
        break
else:
    print '%d 是素数' % INPUT
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值