条件语句与循环语句
编写一个程序,检查3个变量x,y,z,输出其中最大的奇数。如果没有奇数,就输出一个消息进行说明。
x,y,z = 2,5,9
list_num = [x,y,z]
odd=[]
for i in list_num :
if i %2 == 1:
odd.append(i)
if odd:
print(sorted(odd)[-1])
else:
print('没有奇数')
编写一个程序,要求用户输入10个整数,然后输出其中最大的奇数。如果用户没有输入奇数,则输出一个消息进行说明。
#循环从控制台输入程序
num_list=[]
for i in range(10):
num=int(input("第"+str(i+1) + "个数")) #这里必须把i转为字符串类型,因为默认的i是int型
num_list.append(num) #这里用append函数将用户输入的num添加到列表中
odd=[]
for numb in num_list:
if numb % 2==1:
odd.append(numb) #遍历原列表,将其中的奇数添加到odd列表中
if odd: #如果odd不为空
print (sorted(odd)[-1]) #升序排列后直接取最后一位数即为最大值
else:
print("没有奇数")
真假值测试
以下是在 Python 中被视为 False 的大多数内置对象:
定义为 false 的常量:None 和 False
任何数字类型的零:0、0.0、Decimal(0)、Fraction(0, 1)
空序列和空集合:""、()、[ ]、{ }、set()、range(0)
实际练习:将以下代码中的注释替换为while循环语句。
numXs = int(input(‘How many times should I print the letter X? ‘))
toPrint = ”
numXss=abs(numXs)
concatenate X to toPrint numXs times
numxs = int(input('How many times should I print the letter X? '))
toprint = ''
while numxs != 0:
numxs = abs(numxs)
toprint=toprint + 'x'
numxs = numxs - 1
print(toprint)
R语言实现
利用索引
number <- c(5,8,9)
odd <- number[number %%2 ==1]
sort(odd)[length(odd)]
利用控制流
number <- c(5,8,9)
number_list=c()
n=1
for (i in number){
if (i%%2 ==1) {
number_list[n] <- number[n]
}
n = n+1
}
sort(na.omit(number_list),decreasing=TRUE)[1]