python输入多个整数 输入quit表示结束_Python做题笔记

1、给你两个时间st和et(00:00:00<=st <= et<=23:59:59), 请你给出这两个时间间隔的秒数。

如:st="00:00:00", et="00:00:10", 则输出10.

st="00:00:00"

et = "00:00:10"

if st[-2:] > et[-2:]:

print(st[-2:])

elif st[-2:] < et[-2:]:

print(et[-2:])

else:

if st[-2:] == et[-2:]:

print((st[-2:],et[-2:]))if st[-2:] > et[-2:]:

解题思路:使用切片和"if-elif-else"判断语句.

2、下过象棋的人都知道,马只能走'日'字形(包括旋转90°的日),现在想象一下,给你一个n行m列网格棋盘,

棋盘的左下角有一匹马,请你计算至少需要几步可以将它移动到棋盘的右上角,若无法走到,则输出-1.

如n=1,m=2,则至少需要1步;若n=1,m=3,则输出-1。

n = 2

m = 11

for value in range(n,m):

print(value)

if m // n >= n:

print("\n-1")

else:

if m // n < n:

print("\n则至少需要走" + m + "步")

if m // n == n:

print("\n则需要走零步")

3、给你一个时间t(t是一个字典,共有六个字符串key(year,month,day,hour,minute,second),值为每个值为数字组成的字符串,

如t={'year':'2013','month':'9','day':'30','hour':'16','minute':'45','second':'2'}

请将其按照以下格式输出, 格式:XXXX-XX-XX XX:XX:XX。如上例应该输出: 2013-09-30 16:45:02。

time = {'year':'2013',

'month':'9',

'day':'30',

'hour':'16',

'minute':'45',

'second':'2',

}

print(time['year'] + '-'

+ time['month'] + '-'

+ time['day'] + "\t"

+ time['hour'] + ':'

+ time['minute'] + ':'

+ time['second'])

4、给你一个整数组成的列表L,按照下列条件输出:

若L是升序排列的,则输出"UP";

若L是降序排列的,则输出"DOWN";

若L无序,则输出"WRONG"。

lst = [1,2,3,4,5,6,7,8]

if lst == lst[::-1]:

print('UP')

elif lst == lst:

print('DOWN')

else:

print('WRONG')

解题思路:使用"[::-1]"倒转.

5、给你一个整数列表L,判断L中是否存在相同的数字,

若存在,输出YES,否则输出NO。

lst1 = [1, 2, 3, 5, 6, 3, 2]

lst2 = [2, 5, 7, 9]

set1 = set(lst1)

set2 = set(lst2)

# 哪些整数既在lst1中,也在lst2中

print(set1.intersection(set2))

# 哪些整数在lst1中,不在lst2中

print(set1.difference(set2))

# 两个列表一共有哪些整数

print(set1.union(set2))

解题思路:使用"intersection()"、"difference()"、"nuion()"等函数.

6、已知 lst = [2, 3, 4]

依次要求用户输入2,3,4 的整数倍,先让用户输入2的倍数,如果用户输入的正确,输出“输入正确”,否则输出 “输入错误”,如果用户输入quit,则停止当前的输入,让用户输入3的倍数,输入3的倍数的过程中,如果用户输入quit,则让用户输入4的倍数

lst = [2, 3, 4]

for item in lst:

while True:

input_str = input("请输入{number}的倍数,想停止输入时,输入quit:".format(number=item))

if input_str == 'quit':

break

number = int(input_str)

if number % item == 0:

print("输入正确")

else:

print("输入错误")

解题思路:使用'for'循环与'while'循环嵌套集合使用.

7、使用input函数接受用户的输入,如果用户输入的数值小于等于10,则判断是奇数还是偶数,如果数值大于10,则输出“输入大于10,不判断奇偶”,用户输入quit,结束程序

while True:

input_str = input("请输入一个正整数,如果想停止程序,输入quit:")

if input_str == 'quit':

break

number = int(input_str)

if number > 10:

continue

if number % 2 == 0:

print("输入为偶数")

else:

print("输入为奇数")

小结:在本次做题过程中,做题速度有些慢,对有些函数还不是记得特别牢固(如:”intersection()“、“ difference()“、”nuion()“等等),对以己掌握的语句还不能很熟练的运用,很多题目只想到了其中一种解题方法,还有对单词量掌握的太少,逻辑思维还得多多训练,基础知识还得多多加强。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值