练习4

整数加减和

 

描述

编写程序计算如下数列的值:

1-2+3-4...966

其中,所有数字为整数,从1开始递增,奇数为正,偶数为负

 

输入格式

该题目没有输入。 

 

输入输出示例

 

 输入输出
示例 1111(仅表示输出样式,不是输出结果)
def main():
    n=966
    sum=0
    for i in range(1,n+1):
            if i%2==1:
                sum+=i
            else:
                sum-=i
    return sum
main()
print(sum)

'''注意,如果不写主函数直接返回return会给出SyntaxError: 'return' outside function'''

求100以内的素数和

描述

求100以内的素数之和并输出。 

输入格式

 该题目没有输入

输入输出示例

 

 输入输出
示例 1无(红色字体不是OJ的输入)说明:直接输出100以内的素数之和。(红色字体不是OJ的输出)

 

# -*- coding: utf-8 -*-
"""
Created on Mon Aug  6 12:44:35 2018

@author: Lenovo
"""
def judge(n):
    flag=1
    if n==2:
        flag=1
    elif n==1:
        flag=0
    else:
        for i in range(2,n):
            if n%i==0:
                flag=0
                break
    return flag


k=100
sum=0
for i in range(1,k+1):
    if judge(i)==1:
        sum+=i;
        
print(sum)

 

合格率计算

 

描述

输入一个数字n作为合格标准,然后,输入一系列的数字,每次输入换行表示,空换行结束,输出合格率。

合格率指输入元素中合格元素与全部元素的比值。

 

输入输出示例

 输入输出
示例 1

60
50
75
90
(这里有一个换行 )

合格率为66.67%

 

示例 2

75
65
70
90
(这里有一个换行 )

合格率为33.33%
def inp():
    global ls
    ls=[]
    s=input()
    while s!='':
        ls+=[s]
        s=input()
        
    return ls

def main():
    inp()
    n=len(ls)
    std=eval(ls[0])
    count=0
    for i in range(1,n):
        if eval(ls[i])>=std:
            count+=1
    global rate
    if n!=1:
        rate=count/(n-1)
    elif n==1:
        rate=1
main()
print("合格率为{:.2f}%".format(100*rate))

 

四叶玫瑰数

 

描述

四叶玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数)
 

输入格式

该题目没有输入。 

 

 

 输入输出示例

 

 输入输出
示例 1 (红色字体只表示输入格式)

1111

2222

3333 (红色字体只表示输出格式,不是四叶玫瑰数)

注意对列表的运算操作[pow(x,4) for x in ls]的使用,非常地道的用法 

def strip(n):
    global ls
    ls=[]
    ls.append(n//1000)
    ls.append((n//100)%10)
    ls.append((n//10)%10)
    ls.append(n-1000*ls[0]-100*ls[1]-10*ls[2])
    
    
def main():
    for i in range(1000,10000):
        strip(i)
        if sum([pow(x,4) for x in ls])==i:
            print(i)
        ls.clear()
        
main()

 

用户登录(三次机会)

描述

给用户三次输入用户名和密码的机会,要求如下:

1)如输入第一行输入用户名为‘Kate’,第二行输入密码为‘666666’,输出‘登录成功!’,退出程序;

2)当一共有3次输入用户名或密码不正确输出“3次用户名或者密码均有误!退出程序。”。

 

输入输出示例

 

 输入输出
示例 1

Kate
666666

登录成功!
示例 2

kate
123
alice
456
john
111111

3次用户名或者密码均有误!退出程序。
# -*- coding: utf-8 -*-
"""
Created on Mon Aug  6 12:44:35 2018

@author: Lenovo
"""
name=[]
passward=[]
flag=0
count=0
while flag==0 and count<=2:
    name.append(input())
    passward.append(input())
    count+=1
    if name[0]=='Kate' and passward[0]=='666666':
        flag=1
        print("登录成功!")
    name.clear()
    passward.clear()
    
if flag==0:
    print("3次用户名或者密码均有误!退出程序。")
     

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值