我正在Udacity上一门Python课程,我正试着自己解决这个问题,而不看答案。也许你能给我一个暗示,让我明白我的逻辑?在
以下是说明和我目前所掌握的信息。我们还没有学会条件语句,所以我不能使用这些语句。我们只学习了如何分配/打印变量、字符串、索引字符串、子序列和.find。他们刚刚在最后的练习中介绍了str命令。在# Given a variable, x, that stores the
# value of any decimal number, write Python
# code that prints out the nearest whole
# number to x.
# If x is exactly half way between two
# whole numbers, round up, so
# 3.5 rounds to 4 and 2.5 rounds to 3.
# You may assume x is not negative.
# Hint: The str function can convert any number into a string.
# eg str(89) converts the number 89 to the string '89'
# Along with the str function, this problem can be solved
# using just the information introduced in unit 1.
# x = 3.14159
# >>> 3 (not 3.0)
# x = 27.63
# >>> 28 (not 28.0)
# x = 3.5
# >>> 4 (not 4.0)
x = 3.54159
#ENTER CODE BELOW HERE
x = str(x)
dec = x.find('.')
tenth = dec + 1
print x[0:dec]
这样我就可以打印出精确到小数点的字符,但是我不知道如何让计算机检查“十分之一”是4还是5,然后根据答案打印出来。在
我想,如果“十分之一”不是4,那么它可能会返回-1,但我不知道如何才能让它打印x[0:dec]如果它是<;5,而x[0:dec]+1如果它是>;4。在
:/
有人能帮我按一下方向吗?在